君临-行者无界

导航

关于设计模式的几个问题

  学习设计模式,首先要弄明白下面几个问题

  1、什么是设计模式

  百度百科是这样解释的:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

  2、为什么要学习设计模式

  有过工作经验的人都知道,对于迭代式开发或者需求不累加的项目,有的时候,一个很简单的需求,或者说,本来应该是很快就可以实现的需求,但是由于系统当初设计的时候没有考虑这些需求的变化,导致系统越做越臃肿,随便修改一处都可能造成不可预料的后果,或者是本来可以修改下配置文件或者改一处代码就可以解决的事情,结果需要修改N处代码才可以达到目的,严重影响了开发效率。

  3、设计模式的好处及注意点

  设计模式可以帮助我们改善系统的设计,增强系统的健壮性、可扩展性,为以后铺平道路。虽然设计模式可以改善系统的设计,但是过多的模式也会系统变的复杂,所以当我们第一次设计一个系统时,要把的变化点处理掉,不确定的变化点千万不要假设它存在,这样我们的项目才能更快的做下去,如果一开始就追求面面俱到,反而增加了开发难度,当需求越来越多,项目越来越大的时候,我们可以使用设计模式对项目进行重构。

  4、面向对象的六大原则

  单一职责原则:描述的意思是每个类都只负责单一的功能,切不可太多,并且一个类应当尽量的把一个功能做到极致。
  开闭原则:原文是:“Software entities should be open for extension,but closed for modification”。就是说模块应对扩展开放,而对修改关闭。模块应尽量在不修改原(是“原”,指原来的代码)代码的情况下进行扩展。
  里氏代换原则:如果调用的是父类的话,那么换成子类也完全可以运行。换句话说,在程序设计时子类一般不应该去重写父类的方法,里氏代换原则是继承复用的一个基础
  依赖倒转原则:这个原则描述的是高层模块不该依赖于低层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。即实现都是易变的,而只有抽象是稳定的,所以当依赖于抽象时,实现的变化并不会影响客户端的调用。
  接口隔离原则:也称接口最小化原则,强调的是一个接口拥有的行为应该尽可能的小,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。
  迪米特原则:也称最小知道原则,即一个类应该尽量不要知道其他类太多的东西,不要和陌生的类有太多接触。同时自己也不应该让别的类知道自己过多的细节。

  5、23种常见设计模式

  创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
  结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
  行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

posted on 2018-11-27 09:49  请叫我西毒  阅读(557)  评论(0编辑  收藏  举报