欢迎来到天天文库
浏览记录
ID:33450082
大小:4.49 MB
页数:70页
时间:2019-02-26
《设计模式精髓-《大话设计模式》读书录》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、设计模式精华《大话设计模式》读书总结薛栎2015年4月1日目录设计模式基本概念2设计模式空间:2UML标记3设计原则3一,简单工场(simpleFactory)41.1UML41.2代码41.3总结6二,策略模式(strategy)62.1UML62.2代码62.3总结72.4用处8三,装饰着模式(Decorator)83.1UML83.2代码83.3总结103.4用处10四,代理模式(Proxy)114.1UML114.2代码114.3总结124.4用处13五,工场方法模式(FactoryMethod
2、)135.1UML135.2代码135.3总结155.4用处15六,原型模式(Prototype)166.1UML166.2代码166.2.1基本原型模式166.2.2浅复制176.2.3深复制176.3总结196.4用处19七,模版方法(templateMethod)207.1UML207.2代码207.3总结227.4用处22八,外观模式(Facade)238.1UML238.2代码238.3总结258.4用处25九,建造者模式(builder)269.1UML269.2代码269.3总结289.4
3、用处29十,观察者模式2910.1UML2910.2代码2910.3总结3210.4用处32十一,抽象工厂模式(AbstractFactory)3311.1UML3311.2代码3311.3总结3611.4用处3611.5注意3611.6反射机制37十二,状态模式(State)3712.1UML3712.2代码3712.3总结4012.4用处40十三,适配器模式(Adapter)4113.1UML4113.2代码4113.3总结4313.4用处44十四,备忘录模式(Memento)4414.1UML44
4、14.2代码4414.3总结4614.4用处46十五,组合模式(Composite)4615.1UML4615.2代码4615.3总结4815.4用处48十六,迭代器模式(Iterator)4916.1UML4916.2代码4916.3总结5116.4用处51十七,单例模式(singleton)5117.1UML5117.2代码5217.3总结5217.4用处52十八,桥接模式(bridge)5318.1UML5318.2代码5318.3总结5518.4用处55十九,命令模式5519.1UML5519.
5、2代码5519.3总结5719.4用处以及优点58二十,职责链模式(ChainofResponsibility)5820.1UML5820.2代码5820.3总结6120.4用处61二十一,中介者模式(Mediator)6221.1UML6221.2代码6221.3总结6421.4用处65二十二,享元模式(Flyweight)6522.1UML6522.2代码6522.3总结6622.4用处67二十三,解释器模式(interpreter)6723.1UML6723.2代码6723.3总结7023.4用处
6、70二十四,访问者模式(Visitor)7024.1UML7024.2代码7124.3总结7324.4用处73总结73设计模式基本概念设计模式空间:目的创建型结构型行为型范围类FactionMethodAdapter(类)InterpreterTemplateMethod对象AbstractFactoryBuilderPrototypeSingletonAdapter(对象)BridgeCompositeDecoratorFaçadeFlyweightProxyChainofResponsibility
7、CommandIteratorMediatorMementoObserverStateStrategyVisitorUML标记设计原则•单一职责•开闭原则(多扩展,少修改)(对于变化的需求是通过增加新代码解决的,而不是修改原代码,这就是开闭原则的精髓。•依赖倒置原则•迪米特法则(最少知识原则):如果两个类不彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用某一个类的另一个方法的话,则可以通过第三者转发这个调用。•里氏代换原则:只有当子类代换掉父类,而软件的单位功能不受影响时,父
8、类才能真正被复用,子类才能在父类上添加功能。•合成/聚合复用原则•简单工场(simpleFactory)1.1UML1.2代码packagecom.design.counter;publicclassCounter{publicstaticvoidmain(String[]args){Opratero=OpraterationFactory.createOprateration('+');System.out.println(o.count
此文档下载收益归作者所有