23种设计模式总结
2017-06-23 14:24
405 查看
前言
设计模式属于系统架构,是程序员长期以来的经验总结,不是一门技术性语言。设计模式的作用就是让你的代码系统解耦合,可最大力度的提高系统灵活扩展性。当然用设计模式和不用设计模式也许都可以实现代码预期目的,但如果想要你的系统易于维护,考虑长远的发展的话,这种经验就不可或缺。不会偷懒的程序员不是好程序员,时间是很宝贵的。
分类(基本按照使用频率顺序排列,个性特点简语已归纳,如需详细了解请点击连接)
设计模式七大基本原则(23种模式尽量遵循的通用规则)
最通俗易懂–设计模式之七大原则
创建型模式(6种)
单例模式–单对象创建(创建型模式01)
工厂方法模式–应用最广(创建型模式02)
抽象工厂方法模式–不确定产品设计(创建型模式03)
Builder模式–合理分工,自由扩展(创建型模式04)
适配器模式–我是万能胶(创建型模式05)
原型模式–深浅拷贝要明知(创建型模式06)
结构型模式(6种)
桥接模式–让路更好走(结构型模式01)
组合模式–统一区别,同样对待(结构型模式02)
装饰模式–动态添加装饰物(结构型模式03)
外观模式–高层调用,删繁就简(结构型模式04)
享元模式–拒绝多对象,优化第一步(结构型模式05)
代理模式–你说我来做,反射帮大忙(结构型模式06)
行为模式(11种)
责任链模式–一级一级觅佳音,总有一款适合你(行为模式01)
命令模式–把需求记录在案,让事务灵活可变(行为模式02)
解释器模式–自定义语言翻译机(行为模式03)
中介者模式–万能和事佬(行为模式04)
备忘录模式–玩到尽兴须保存,下次开机继续玩(行为模式05)
观察者模式–众多通知,一步到位(行为模式06)
策略模式–条条大路通罗马(行为模式07)
状态模式–随遇而安(行为模式08)
迭代器模式–更高、更快、更强(行为模式09)
模板方法模式–封装相似,简而用之(行为模式10)
访问者模式–要风得风,要雨得雨(行为模式11)
建议熟练掌握的几种设计模式
单例模式–单对象创建(创建型模式01)
单例模式适用于整个系统对象需要单一实例的场景,比如游戏系统的boss。使用单例模式可以避免重复实例化对象,避免重复创建回收出错而引起的一系列问题。
工厂方法模式–应用最广(创建型模式02)
工厂方法模式适用于批量生产对象,避免重复作业,比如游戏系统的源源不断的小怪。搭配原型模式可以大大提高效率,节省系统资源。
抽象工厂方法模式–不确定产品设计(创建型模式03)
抽象工厂方法模式与工厂方法模式的区别在于,抽象工厂管理的更加具体,比如工厂方法是一个小的车厂只按要求封装国产轮胎、国产引擎的汽车类,封装好后就批量生产这一种类型的汽车。而抽象工厂方法模式则是一个大型汽车生产商,他对各种引擎、轮胎都划分了国产、进口等种类,而生产汽车分为国产零件和进口零件。抽象工厂方法是工厂方法的升级版本,我们从代码也可以看到他们的耦合进一步降低了。
代理模式–你说我来做,反射帮大忙(结构型模式06)
代理模式适用于间接访问对象,代理模式应用到了jdk的反射机制,优点是动态代理不需要知道具体实现类就可以很好的完成某项工作,代理模式实际应用中很常见应熟练掌握。
适配器模式–我是万能胶(创建型模式05)
适配器模式灵活性在于可以根据需求转换原数据到需求数据,从Android的sdk中我们已经体会到了各种各样的Adapter的使用,可见这个模式也很重要。
观察者模式–众多通知,一步到位(行为模式06)
观察者模式实现了监听–通知的效果,我们的手机状态栏通知应用推送信息,也是这个原理。包括其他流行的聊天软件消息通知也不乏他的身影。其作用可见一斑。
装饰模式–动态添加装饰物(结构型模式03)
装饰模式要求对本体进行二次加工,在其基础之上添加新功能,从而实现自定义的目的。装饰器模式应用也很广泛,应熟练掌握。
外观模式–高层调用,删繁就简(结构型模式04)
外观模式讲究封装的使用,一个好的软件系统,不能让用户做很多操作,用户体验差是能直接拉低好感度的弊端。外观模式要求封装操作,使用者只需简单操作就可实现各种类之间的调用搭配,从而实现预期目的。
策略模式–条条大路通罗马(行为模式07)
策略模式适用于根据需求的不同而给出不同的对策。比如网站登入根据用户进入和管理员进入显示不同的界面。
总结
其他模式也很有用,并不是没说到就没有必要熟悉了。23设计模式就这些了,平时多使用就可以体会到他们的妙处何在了。文章如有不妥之处,欢迎指出批评,我会及时修正,谢谢。
设计模式属于系统架构,是程序员长期以来的经验总结,不是一门技术性语言。设计模式的作用就是让你的代码系统解耦合,可最大力度的提高系统灵活扩展性。当然用设计模式和不用设计模式也许都可以实现代码预期目的,但如果想要你的系统易于维护,考虑长远的发展的话,这种经验就不可或缺。不会偷懒的程序员不是好程序员,时间是很宝贵的。
分类(基本按照使用频率顺序排列,个性特点简语已归纳,如需详细了解请点击连接)
设计模式七大基本原则(23种模式尽量遵循的通用规则)
最通俗易懂–设计模式之七大原则
创建型模式(6种)
单例模式–单对象创建(创建型模式01)
工厂方法模式–应用最广(创建型模式02)
抽象工厂方法模式–不确定产品设计(创建型模式03)
Builder模式–合理分工,自由扩展(创建型模式04)
适配器模式–我是万能胶(创建型模式05)
原型模式–深浅拷贝要明知(创建型模式06)
结构型模式(6种)
桥接模式–让路更好走(结构型模式01)
组合模式–统一区别,同样对待(结构型模式02)
装饰模式–动态添加装饰物(结构型模式03)
外观模式–高层调用,删繁就简(结构型模式04)
享元模式–拒绝多对象,优化第一步(结构型模式05)
代理模式–你说我来做,反射帮大忙(结构型模式06)
行为模式(11种)
责任链模式–一级一级觅佳音,总有一款适合你(行为模式01)
命令模式–把需求记录在案,让事务灵活可变(行为模式02)
解释器模式–自定义语言翻译机(行为模式03)
中介者模式–万能和事佬(行为模式04)
备忘录模式–玩到尽兴须保存,下次开机继续玩(行为模式05)
观察者模式–众多通知,一步到位(行为模式06)
策略模式–条条大路通罗马(行为模式07)
状态模式–随遇而安(行为模式08)
迭代器模式–更高、更快、更强(行为模式09)
模板方法模式–封装相似,简而用之(行为模式10)
访问者模式–要风得风,要雨得雨(行为模式11)
建议熟练掌握的几种设计模式
单例模式–单对象创建(创建型模式01)
单例模式适用于整个系统对象需要单一实例的场景,比如游戏系统的boss。使用单例模式可以避免重复实例化对象,避免重复创建回收出错而引起的一系列问题。
工厂方法模式–应用最广(创建型模式02)
工厂方法模式适用于批量生产对象,避免重复作业,比如游戏系统的源源不断的小怪。搭配原型模式可以大大提高效率,节省系统资源。
抽象工厂方法模式–不确定产品设计(创建型模式03)
抽象工厂方法模式与工厂方法模式的区别在于,抽象工厂管理的更加具体,比如工厂方法是一个小的车厂只按要求封装国产轮胎、国产引擎的汽车类,封装好后就批量生产这一种类型的汽车。而抽象工厂方法模式则是一个大型汽车生产商,他对各种引擎、轮胎都划分了国产、进口等种类,而生产汽车分为国产零件和进口零件。抽象工厂方法是工厂方法的升级版本,我们从代码也可以看到他们的耦合进一步降低了。
代理模式–你说我来做,反射帮大忙(结构型模式06)
代理模式适用于间接访问对象,代理模式应用到了jdk的反射机制,优点是动态代理不需要知道具体实现类就可以很好的完成某项工作,代理模式实际应用中很常见应熟练掌握。
适配器模式–我是万能胶(创建型模式05)
适配器模式灵活性在于可以根据需求转换原数据到需求数据,从Android的sdk中我们已经体会到了各种各样的Adapter的使用,可见这个模式也很重要。
观察者模式–众多通知,一步到位(行为模式06)
观察者模式实现了监听–通知的效果,我们的手机状态栏通知应用推送信息,也是这个原理。包括其他流行的聊天软件消息通知也不乏他的身影。其作用可见一斑。
装饰模式–动态添加装饰物(结构型模式03)
装饰模式要求对本体进行二次加工,在其基础之上添加新功能,从而实现自定义的目的。装饰器模式应用也很广泛,应熟练掌握。
外观模式–高层调用,删繁就简(结构型模式04)
外观模式讲究封装的使用,一个好的软件系统,不能让用户做很多操作,用户体验差是能直接拉低好感度的弊端。外观模式要求封装操作,使用者只需简单操作就可实现各种类之间的调用搭配,从而实现预期目的。
策略模式–条条大路通罗马(行为模式07)
策略模式适用于根据需求的不同而给出不同的对策。比如网站登入根据用户进入和管理员进入显示不同的界面。
总结
其他模式也很有用,并不是没说到就没有必要熟悉了。23设计模式就这些了,平时多使用就可以体会到他们的妙处何在了。文章如有不妥之处,欢迎指出批评,我会及时修正,谢谢。
相关文章推荐
- 总结23种设计模式
- 一句话总结GOF的23种设计模式
- 一句话总结GOF的23种设计模式
- Java 23种设计模式有趣见解、总结
- GOF23种设计模式(Design Pattern)总结
- 23种设计模式对比与总结
- 一句话总结GOF的23种设计模式
- Java中23种设计模式总结
- 一句话总结GOF的23种设计模式
- 23种设计模式总结
- 23种设计模式对比与总结
- 23种设计模式总结
- 一句话总结GOF的23种设计模式 .
- GOF23种设计模式(Design Pattern)总结
- 23种java设计模式总结
- java23种设计模式总结
- GOF23种设计模式(Design Pattern)总结
- java开发中23种设计模式的总结
- 23种设计模式之python实现--总结
- 23种设计模式 总结