设计模式(Design
pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性设计框架可复用面向对象软件系统一般划分为两大类:应用程序工具箱和框架(Framework)我们平时开发的具体软件都是应用程...
分类:
其他好文 时间:
2014-05-01 12:27:43
阅读次数:
360
概述
将一个具体类的实例化交给一个静态工厂方法来执行,它不属于GOF的23种设计模式,但现实中却经常会用到角色 工厂类(Simple Factory):
只包含了创建具体类的静态方法。 抽象产品(Product):定义简单工厂中要返回的产品。 具体产品(ConcreteProduct):具体...
分类:
其他好文 时间:
2014-05-01 12:02:59
阅读次数:
392
在两年前学习C++的时候,知道抽象类这么一个概念,当时并不是很理解,如今在学习C#和设计模式的时候,再一次碰到了这个含糊不清的东西,同时又在C#中学习到了接口技术,接口也早有耳闻,但是当时理解的接口就是一个或者一组能够操作类中数据的函数或者方法。虽然老师举过很多例子,比如电视机这个事物,它对外的接口就是遥控器,遥控器里好多的按钮,按钮的下面就是各种各样的命令或者称之为方法。
当...
分类:
其他好文 时间:
2014-04-29 13:35:19
阅读次数:
239
State模式定义:
允许一个对象在状态改变是,改变它的行为。看起来对象似乎修改了它的类。
模式理解(个人):
State模式主要解决的事在开发中时常遇到的根据不同状态需要进行不同的处理操作的问题,而这样的问题,大部分人会采用switch-case语句进行处理,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
285
学好英语对IT软件工程师有一个非常大的影响,那就是你对于每天面对的代码会非常熟悉,不会有任何陌生感,也不会有模式切换带来的精力消耗。英语不好的时候,有一部分注意力会放在代码的语言理解上,跟母语不一样看起来总是怪怪的,有种特殊的陌生感(特殊是因为你你不认识代码,作为一种特殊语言认识的),现在这部分注意力和精力不需要再浪费了,可以有更多的注意力和精力放在方法的使用上、程序的设计上和设计模式的理解上。...
分类:
其他好文 时间:
2014-04-29 13:18:20
阅读次数:
285
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
刚看了看设计模式,真是费了好多的脑细胞。
想着想着就到了食堂。O(∩_∩)O哈!正是长身体的时候(大神勿喷),
一定要多吃点。于是我打了一份米饭,然后又端着盛米饭的盘子买了一份凉菜
,看着还不是很够,就又端着这个盘子买了一条最爱吃的鱼。
-----装饰模式!
饭 meal=new 饭("晚饭");
米饭rice=new米饭();
菜vegetables= new 菜();
鱼fish = new 鱼();
rice.Decorate(meal);
vegetables.Decorate(rice);...
分类:
其他好文 时间:
2014-04-29 13:13:20
阅读次数:
318
代理模式的本质:控制对象访问
既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可
同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问
从而实现控制对象访问的目的
何时选用代理模式
1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理
2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)
3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例
4.需要在访问对象执行一些附加操作的时候,...
分类:
其他好文 时间:
2014-04-28 10:27:41
阅读次数:
253
STL实践与分析--泛型算法的结构引言: 正如所有的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础。 算法最基本的性质是需要使用的迭代器种类。所有算法都指定了它的每个迭代器形参可使用的迭代器类型。比如,如果形参必须为随机访问迭代器则可提供vector或 deque类型的迭代器,或者提供指向数组的指针。而其他容器的迭代器不能用在这类算法上。 C++还提供了另外两种算法模式...
分类:
编程语言 时间:
2014-04-27 21:36:05
阅读次数:
392