`
qn_lf
  • 浏览: 121561 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
    Composite定义,将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.注意:"部分-整体"应具有共同的接口或者是抽象类.     组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。Composite描述了面向对象的递归组合的本质。    总结:通过继承(或实现)、组合(通过集合组合)同一个接口(或抽象类)所出来的类,其表现的行为和其被组合的类一致。方便调用。
装饰器模式Decorator:继承及组合需要被装饰类的接口,来实现的一个类。通过该类完成对相关被装饰类的装饰。
状态模式允许一个"对象"在其内部状态改变的时候改变其行为。
各子类中的公共行为应被提取出来集中到一个公共父类中,以避免代码重复。 如HttpServlet类,就提供了一个模板,可以继承该类来实现不同的servlet。 参考:http://www.jdon.com/designpatterns/template.htm
  策略模式:把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响不需要变化的其他部分;   分析:抽象类包含所有的方法,其中组合了具体的接口;对于不变的部分,直接在抽象类中实现,而变化的部分,调用接口的方法。   继承,可以实现静态代码的复用;组合,可以实现代码的弹性维护;使用组合代替继承,可以使代码更好地适应软件开发完后的需求变化。 策略模式的本质:少用继承,多用组合 参考:http://www.iteye.com/topic/328262
adapter是为了重用与期望接口不一致但的确可以被重用的代码。     比如一个客户端程序需要调用login方法执行登录认证,但其实已经有一个try_login接口被实现(adaptee)来执行这个过程,那么我就可以在login的实现中通过调用try_login的实现来重用代码。这个login的实现所属类就是一个adapter。 Facade模式,是为了减小模块间的耦合而在更高层次上定义的接口,通常提供以该模块较粗粒度的入口。 结论:Facade模式简化了接口,而Adapter模式则将一个已有的接口转换成一个已有的接口。 参考:http://www.iteye.com/topic/1 ...
同步 线程安全的例子----只要像下面一个同步化getInstance()方法: Java代码 public synchronized static Singleton getInstance() { if(singleton == null) { singleton = new Singleton(); } logger.info("created singleton: " + singleton); return singleton; } 在同步化getInstance()方法后,我们就可以得到例5的测 ...
简单工厂:一个具体工厂根据传入的参数的不同生产不同的产品; 工厂方法:定义一个接口,定义众多具体工厂来生产不同的产品; 抽象工厂模式:定义一个接口(分零部件生产),定义众多具体工厂来生产不同的零部件; 注意:以上所说的不同产品及零部件,均实现相同接口。
网络收藏夹的社会功能 网络收藏夹不仅仅是收藏,而且能够分享,最好对公开收藏的内容做些分类、方便查询。 在使用方便性上推荐Google Chrome的同步书签,点下工具栏上的五角星就可以收藏。 分类上,推荐一个http://wz.131bz.com,上面有详细的分类,比如JQuery相关的收藏整合在http://wz.131bz.com/wz,sf-w-5,1,10,2010.htm中。
Global site tag (gtag.js) - Google Analytics