您的位置:首页 > 其它

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设计模式就这些了,平时多使用就可以体会到他们的妙处何在了。文章如有不妥之处,欢迎指出批评,我会及时修正,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式