- 博客(20)
- 收藏
- 关注
原创 设计模式——设计模式选择——创建型
对象创建型模式Abstract Factory(Kit)——抽象工厂意图动机适用性结构参与者协作效果它分离了具体的类它使得易于交换产品系列它有利于产品的一致性难以支持新种类的产品实现将工厂作为单件创建产品定义可扩展的工厂相关模式Builder——生成器意图动机适用性结构参与者协作效果它使你可以改变一个产品的内部表示它将构造代码和...
2018-04-27 21:48:08 520 1
原创 设计模式——09 迭代器与组合模式(管理良好的集合)
迭代器模式(IteratorPattern)综述定义使用CSharp接口的示例菜单单条目的对象菜单对象菜单枚举对象结果输出Composite Pattern(组合模式)综述类图示例ComponentLeafComposite迭代器模式(IteratorPattern)综述定义提供一种方法顺序访问一个聚合对...
2018-04-27 09:02:47 199
原创 设计模式—— 22 访问者模式
访问者模式(Visitor Pattern)综述定义类图优点缺点访问者模式(Visitor Pattern)综述定义当你想要为一个对象的组合增加新的能力,且封装并不重要时,就是用访问者模式类图优点允许你对组合结构加入新的操作,而无需该变结构本身想要加入新的操作,相对容易访问者所进行的操,其代码是集中在一起的缺点会打...
2018-04-25 15:08:45 149
原创 设计模式——21 原型模式
原型模式(Prototype Pattern)综述定义类图优点用途缺点原型模式(Prototype Pattern)综述定义当创建给定类的实例的过程很昂贵或很复杂时,就是用原型模式类图优点向客户隐藏制造新实例的复杂性提供让客户能够产生未知类型对象的选项在某些环境下,复制对象比创建对象更有效用途在一个复杂的类...
2018-04-25 15:02:21 160
原创 设计模式——20 备忘录模式
备忘录模式(MementoPattern)综述定义类图优点用途缺点备忘录模式(MementoPattern)综述定义当你需要让对象返回之前的状态时(如,你的用户请求“撤销”),就使用备忘录模式类图备忘录模式有两个目标:储存系统关键对象的重要状态维护关键对象的封装 不要忘记单一责任原则,不要把保持状态的工作和关键对象混在一起 ...
2018-04-25 14:27:01 158
原创 设计模式——19 中介者模式
中介者模式(Mediator Pattern)综述定义类图优点用途缺点中介者模式(Mediator Pattern)综述定义集中相关对象之间复杂的沟通和控制方式类图在这个系统加入一个中介者,一切都变得简单了。每个对象否会在自己的状态改变是,告诉中介者每个对象都会对中介者所发出的请求做出回应优点通过将对象彼此...
2018-04-25 14:14:19 144
原创 设计模式——18 解释器模式
解释器模式(Interpreter Pattern)总数定义类图优点用途缺点解释器模式(Interpreter Pattern)总数定义为语言创建解释器类图优点将每一个语法规则表示成一个类,方便于实现语言因为语法由许多类表示,所以你可以轻易地改变或扩展此语言通过在类结构加入新的方法,可以在解释的同时增加新的行为,例如打印...
2018-04-25 11:35:42 146
原创 设计模式——17 蝇量模式
蝇量模式(Flyweight Pattern)综述定义类图优点用途缺点蝇量模式(Flyweight Pattern)综述定义如果让某个类的一个实例能用来提供许多“虚拟实例”,就是用蝇量模式类图优点减少运行时对象实例的个数,节省内存将许多“虚拟”对象的状态集中管理用途当一个类有许多的实例,而这些实例都被同意方法控制的...
2018-04-25 10:59:26 199
原创 设计模式——15 生成器模式
生成器模式(Builder Pattern)综述定义类图优点通途生成器模式(Builder Pattern)综述定义使用生成器模式封装一个产品的构造过程,并允许按步骤构造。类图优点将一个复杂对象的创建过程封装起来允许对象通过多个步骤来创建,并且可以改变过程(这和只有一个步骤的工厂模式不同)向客户隐藏产品内部的表...
2018-04-24 23:06:11 165
原创 设计模式——13 与设计模式相处(真实世界中的模式)
与设计模式相处综述什么事设计模式力要点怎么选择模式?分类方式创建型、行为型、结构型创建型行为型结构型类、对象类对象模式动物园反模式例子与设计模式相处综述什么事设计模式在某情境(Context)下,针对某问题的某种解决方案 情境:应用某个模式的情况 问题:逆向在某情境下达到的目标 解决方案:一个通用...
2018-04-24 20:24:34 288
原创 设计模式——10 状态模式(事务的状态)
状态模式综述定义类图要点注意事项状态转换放在Context还是状态类中客户不允许和状态交互使用状态模式的类会很多状态模式的State选择抽象类还是接口?代码实例Context类(糖果机)State类ContreteState类结果输出状态模式将每个状态的行为局部化到它自己的类中 将容易产生问题的if语句删除,以方便日后的维...
2018-04-23 21:26:27 774
原创 设计模式——03 装饰者模式(装饰对象)
Decorate Pattern(装饰者模式)综述定义特点注意事项要点示例写下咖啡馆的代码写基础咖啡的代码写调料的代码结果输出Decorate Pattern(装饰者模式)综述定义动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案特点装饰者和被装饰对象有相同的超类型你可以用一个或多个装饰...
2018-04-18 22:23:30 152
原创 设计模式——02 观察者模式(让你的对象知悉现况)
Observer Pattern(观察者模式)综述定义主题与观察者关系要点自我实现观察者模式实现气象站在WeatherData中实现主题接口建立布告板结果输出使用CSharp内置观察者模式包含纬度和经度信息的 Location 类观察者提供者结果输出Observer Pattern(观察者模式)综述定义观察者模式定义了...
2018-04-18 22:03:27 236
原创 设计模式——05 单例模式(独一无二的对象)
Singleton Pattern(单例模式)综述定义应用范围注意事项多Classloader(JAVA可能)类图要点示例巧克力工厂处理多线程改善多线程的方法不做任何事使用“急切”创建实例双重检查加锁Singleton Pattern(单例模式)综述定义确保一个类只有一个实例,并提供一个全局访问点应用范围...
2018-04-18 17:28:33 177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人