zoukankan      html  css  js  c++  java
  • 设计模式中的相关原则

    1.单一职责原则

    单一职责原则:就一个类而言,应该仅有一个因其他变化的原因。

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

    软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离,

    2.开放-封闭原则

    开放-封闭原则:是说软件实体(类,模块,函数等等)应该可以扩展,但是不可修改。

    无论一个模块是多么的“封闭”,都会存在一些变化,既然不可能完全封闭,设计人员必须对他设计的模块应该对哪种变化封闭做出选择,他必须先猜测最有可能发生的变化种类,然后构造抽象来隔离那些变化。

    面对需求,对程序的改动是通过添加新的代码来实现,而不是去更改现有的代码。这就是开放-封闭原则的精神所在。

    遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好。开发人员应仅对程序中呈现的频繁变化的那部分做出抽象,然而,对于应用程序中每个部分都刻意进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身就是一样重要的。

    3.依赖倒转原则

    A:高层模块不依赖底层模块。两个都应该依赖抽象

    B:抽象不应该依赖细节。细节应该依赖抽象

    应该面向接口编程,不要对实现编程。

    4.狄米特法则

    也叫最少知识原则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用

    在类的结构设计上,每一个类应该尽量降低成员的访问权限。狄米特发展其根本思想,是强调类之间的松散耦合。

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    UOJ#80. 二分图最大权匹配 模板
    BZOJ2243: [SDOI2011]染色
    LA5713 Qin Shi Huang's National Road System
    BZOJ1977: [BeiJing2010组队]次小生成树 Tree
    LA5009 Error Curves
    BZOJ1013: [JSOI2008]球形空间产生器sphere
    BZOJ2733: [HNOI2012]永无乡
    BZOJ1552: [Cerc2007]robotic sort
    BZOJ3223: Tyvj 1729 文艺平衡树
    网络流24题(24/24)
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319431.html
Copyright © 2011-2022 走看看