zoukankan      html  css  js  c++  java
  • 设计模式:单一职责原则,开放封闭原则,依赖倒转原则,理氏代换原则

    还是那几句话:

    学无止境,精益求精

    十年河东,十年河西,莫欺少年穷

    学历代表你的过去,能力代表你的现在,学习代表你的将来

    废话不多说,直接进入正题:

    单一职责原则:

    按照大话设计模式的解读,所谓单一职责原则是指:就一个类而言,应该仅有一个引起它变化的原因!

    如果一个类承担的职责过多,就等于把这些职责耦合在一起,这无形中增加了设计的耦合度。这个类中一个职责的变化,可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当它发生变化时,设计会遭到意想不到的破坏!

    换言之:

    软件设计真正要做的许多内容,就是发现更多职责并把发现的职责作分离!

    开放封闭原则:

    这个原则其实有两个特性,一个是说对于扩展是开放的,另一个是说,对于修改是封闭的(ASD原则)

    由于被篇幅还挺多,我在这里就不一一打字说明了!直接贴出一些重要的话语吧!

    在此,举个例子:

    如同之前我写的博客:简单工厂模式,策略模式、

    简单工厂模式(例子):实现加减乘数的运算。

    策略模式(例子):商场促销策略

    同理,当商场推出一个全新的促销策略时,我们要做的不是去修改原来的策略,还是增加对应的策略即可!这就是所谓了不修改,而是去扩展!

    在此;对开放封闭原则作个总结,如下:

    依赖倒转原则:

     

    我在依赖倒转原则的理解为:强内聚,松耦合!

    理氏代换原则:

    这里可理解为:大部分鸟会飞,但企鹅,鸵鸟不会分。因此,按照理氏代换原则,企鹅或者鸵鸟是不能继承鸟类的!

    OK,本篇博客,大多都是理论知识,我理解的也很平平!因此,写的不是很好,希望大家多多包涵!

    如果需要查看大话设计模式,请下载如下PDF文件:http://download.csdn.net/download/wolongbb/10198756

    也可以参考上篇博客:http://www.cnblogs.com/chenwolong/p/8259213.html

     @陈卧龙的博客

  • 相关阅读:
    ADO.NET 中的数据并发
    net中前台javascript与后台c#函数相互调用
    js正则函数match、exec、test、search、replace、split使用介绍集合
    jQuery遍历Table tr td td中包含标签
    SQL你必须知道的-查询聚合分组排序
    haut-1280 诡异的迷宫
    int、long long等的取值范围
    codeforce 855B
    nyoj-2357
    codeforces 858A
  • 原文地址:https://www.cnblogs.com/chenwolong/p/yz.html
Copyright © 2011-2022 走看看