设计模式总结

Posted ldxsuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式总结相关的知识,希望对你有一定的参考价值。

设计模式是从很多优秀的软件系统中总结出来的代码设计经验,也就是一些扩展性、灵活性好。易于维护和复用的设计方案,这但是前辈们的头破血流换来的。我们要站在巨人的肩膀上,吸取宝贵的经验,设计出优秀的软件系统来面对这个需求日新月异的信息时代。

设计模式以实现”六大原则“为方针,主要有23个。分为三大类。

技术分享图片

这三大类各自是创建型、结构型、行为型,以下来详细介绍。


1.创建型:

社会化的分工越来越细。在软件设计方面也是如此。由于对象的创建会消耗掉系统的非常多资源,所以有必要单独对对象的创建进行研究。将对象的创建与使用分开,从而提高效率。节省资源。优化系统结构。

创建型有五种,各自是:

技术分享图片


当中单例模式解决的是实体对象个数的问题。

除此之外,其它创建型模式解决的都是new所带来的耦合关系。工厂模式、抽象工厂模式、建造者模式都须要一个额外的工厂类来负责实例化“易变对象”,而原型模式则是通过原型(一个特殊的工厂类)来克隆“易变对象”。假设遇到“易变类”,起初的设计通常从工厂方法開始,当遇到很多其它的复杂变化时再考虑重构为其它三种工厂模式。


2.结构型:

攻克了对象的创建问题之后,随之浮出水面的问题就是对象的组成以及对象之间的依赖关系。

怎样设计对象的结构、继承和依赖关系会影响到兴许程序的维护性、代码的健壮性、耦合性等。

这就好比是盖房子。动工之前要规划好房子的框架,布局好各个房间的位置,装修的时候就不必拆东墙补西墙了。

技术分享图片

这7种模式都与接口有关,由于设计结构要考虑各部分之间的关系,从而组装成一个总体。

适配器模式注重转换接口,将不吻合的接口适配对接。桥接模式注重分离接口与事实上现,支持多维度变化。组合模式注重统一接口,将“一对多”的关系转化为“一对一”的关系。装饰模式注重稳定接口,在此前提下为对象扩展功能。外观模式注重简化接口。简化组件系统与外部客户程序的依赖关系。享元模式注重保留接口,在内部使用共享技术对对象存储进行优化。

代理模式注重嫁接接口,添加间接层来实现灵活控制。


3.行为型:

对象的创建和结构问题攻克了。但不能把它放在一边无论了,对象是活的,要工作。所以最后要解决对象的行为问题了。

假设对象的行为设计的好,它们之间的协作效率就会提高。

技术分享图片


 上面是各个模式的定义。以下我们来看看它们各自的特点。以及之间的异同点。

 技术分享图片


软件开发是一门技术。更是一门艺术。设计模式是面向对象软件开发的入门功夫,它为构建可维护性和可复用性俱佳的软件而诞生。这经典的23种设计模式各有千秋,使用的时候要权衡利弊,有时候它们的长处也恰恰是缺点,同一时候也不能把它们孤立起来。寻找联系与差别。结合实际生活。总之,这部分的学习还比較有趣,主要是那本《大话设计模式》的功劳。如今一看模式名称。就能想到它背后的小故事。如今事实上才刚刚认识设计模式,理解的也非常浅显,今后的学习和实践中离不了设计模式。慢慢和他深交。













以上是关于设计模式总结的主要内容,如果未能解决你的问题,请参考以下文章

设计模式大总结

对设计模式的总结之装饰模式与代理模式

网页制作课程设计总结

设计模式总结

设计模式:总结

Java进阶篇 设计模式之十四 ----- 总结篇