[b]几个模式的简单理解,作为炮灰大家轰一轰,看有没有理解错的地方,帮补充补充![/b]
1、代理模式:要求委托第三方来做,要求代理类和被代理类有同样的功能,代理类必须知道代理类有什么功能,他能做些什么事,这就要求统一接口。
2、策略模式:定义三个策略,如果策略相似,请注意统一接口,之后要定义场景,场景提供设置策略方法,执行策略方法。
3、单例模式:方法大部分是private的(只有内部访问),getInstance是static,为了避免多线程,使用synchronized。
4、多例模式:创建多个实例,类似于某个java包下的所有类,都创建实例(for example:一个朝代多个皇帝)。
5、适配器模式:个人认为目的是对一个事物的不同的两个类(A、B)的描述(因为可能是不同系统),为了使用两个类统一,首先使用统一接口,定义个类(适配器,将类重新改造、整合重组)继承B,将原有的信息重组为接口的统一信息。
***接口为了方便可以就把A抽象成接口,当然也可根据具体需求情况自己定义。
6、门面模式:对client端不透明,高内聚松耦合,定义接口,具体动作实现类,门户类,对于门户类可以设置实现类的动作执行顺序等,对client端提供执行的接口。
7、建造者模式:定义建造模式类,建造实现类(设置模式类是如何实现的,例如顺序用List设置等)。可以实现更多级别的实现。
8、原型模式:个人认为,利用原来的原型,创建和原来关系密切,没有太大变化的新类,经常利用Object的cloneable(),复制原型,注意这是浅复制,理解浅复制和深复制[size=medium][/size]。
1、代理模式:要求委托第三方来做,要求代理类和被代理类有同样的功能,代理类必须知道代理类有什么功能,他能做些什么事,这就要求统一接口。
2、策略模式:定义三个策略,如果策略相似,请注意统一接口,之后要定义场景,场景提供设置策略方法,执行策略方法。
3、单例模式:方法大部分是private的(只有内部访问),getInstance是static,为了避免多线程,使用synchronized。
4、多例模式:创建多个实例,类似于某个java包下的所有类,都创建实例(for example:一个朝代多个皇帝)。
5、适配器模式:个人认为目的是对一个事物的不同的两个类(A、B)的描述(因为可能是不同系统),为了使用两个类统一,首先使用统一接口,定义个类(适配器,将类重新改造、整合重组)继承B,将原有的信息重组为接口的统一信息。
***接口为了方便可以就把A抽象成接口,当然也可根据具体需求情况自己定义。
6、门面模式:对client端不透明,高内聚松耦合,定义接口,具体动作实现类,门户类,对于门户类可以设置实现类的动作执行顺序等,对client端提供执行的接口。
7、建造者模式:定义建造模式类,建造实现类(设置模式类是如何实现的,例如顺序用List设置等)。可以实现更多级别的实现。
8、原型模式:个人认为,利用原来的原型,创建和原来关系密切,没有太大变化的新类,经常利用Object的cloneable(),复制原型,注意这是浅复制,理解浅复制和深复制[size=medium][/size]。