设计模式总结(一)

来源:互联网 发布:什么软件贷款最快 编辑:程序博客网 时间:2024/04/30 15:32


       大鸟给小菜讲了很多设计模式,当然每个设计模式都有它所依赖的原则,他们分别是:迪米特原则、依赖倒转原则、合成/聚合原则、开放-封闭式原则、里氏代换原则、单一职责原则。接下来就深入它们的内心,去剖析一下吧!


【迪米特原则】

  定义:

           两个类不必要通讯,即两个类之间不必发生直接的关系,如果一个类需要调用另一个类,只需要借助第三方调用即可;

  举例:

            我们需要银行,去人工柜台,一般都是先排号,然后在大厅内等待,当叫到你的号是,你就可以需要去相应的柜台办理业务。在这里我们所抽取的号码就是第三者,我们去办理业务,没必要知道帮助我们办理业务的是谁,柜台人员也没必要知道是给谁办理业务。工作人员和我们之间都是通过所抽取的号连接起来的。


【依赖倒转原则】

  定义:

        抽象不应该依赖与细节,细节依赖与抽象;高层模块不应该依赖于底层模块,他们都应该依赖于抽象

  举例:

 夏天很多人喜欢吃烧烤嘛,但是出自不同人的手烤出来的,即使是一个人,不同时间烤出来的,也是不一样的味道,所以导致我们很被动,我们需要依赖与烧烤老板,不能一直吃到很好吃的烤串。而麦当劳里面的汉堡、披萨等,他们有严格的烘焙工艺,所以我们在不同的店里吃,味道都是相同的。在这里我们吃的事物就是依赖与工作工艺,也就是符合依赖倒转原则。


【单一职责原则】  

  定义:

有一个类,仅有一个引起它变化的原因;

  举例:

         比如在我们十三期,会有很多的部门分类,如 博客、学术、英语、纪律等等,为什么不都是让ceo做呢,这样就是为了每个部门的都有单独自己的职责,更好的去做好自己部门的工作。


【开放-封闭原则】

定义:

         一些类、模块等等,可以扩展,但是不能够修改

 举例:

            旁边的很多同学选择考研,目标已经定了,不会轻易修改。但是在考研复习的过程中,可以利用休息时间去研究一下如何写好简历,去考察一下就业情况,以防自己考研失利,还可以去工作嘛,两手准备。这也就是所谓的扩展。

 

 【里氏代换原则】

定义:

          子类必须能够替换他们的父类;子类的可替换性使得父类模块在无需修改的情况下就可以被扩展

  举例:

           将动物作为一个父类,则猫、狗等可以可以替换它,而且可以在增加 羊、牛等动物。

 【合成聚合原则】

定义:

         聚合是一种弱的‘拥有’关系,合成是一种强的‘y拥有关系’,体现了整体和部分的关系

 举例:

        手机有不同的品牌,而且一些手机软件:播放器、通讯录等等,他们组合在一起,就是我们现在“低头族”所用的智能机。


  

0 0