• 基本设计模式


    基本设计模式

    开:开闭原则

    一个软件实体应当对扩展开放,对修改关闭.说的是,在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换言之,应当可以在不必修改源代码的情况下改变这个模块的行为,在保持系统稳定性的情况下,对系统进行扩展. 这是面向对象设计(OOD)的基石,也是最重要的原则.

    口:接口隔离原则

    一个类对另一个类的依赖是建立在最小的接口上.
    使用多个专门的接口比使用单一的总接口要好,根据客户需要的不同,而为不同的客户端提供不同的服务是一种应当得到鼓励的做法.
    胖接口会导致他们的客户程序之间差生不正常的并且有害的耦合关系,当一个客户程序要求改胖接口进行一个改动时,会影响到所有其他的客户端程序,因此客户端程序应该仅仅依赖他们实际需要调用的方法.

    合:组合/聚合原则

    在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过这些向对象的委派达到复用已有功能的目的,这个设计原则有另一个简短的表述,要尽量使用 合成/聚合, 尽量不要使用继承

    里:里式替换原则

    所有引用基类的地方必须透明的使用其子类的对象.只要父类能出现的地方子类也可以出现,并且替换为子类不会产生任何的错误或者异常,但是反过来就不行,有子类出现的地方,父类就未必能适应.

    最:最少知识原则

    一个对象应当对其他对象有尽可能少的了解.
    没有任何一个其他的OO设计原则像迪米特法则这样有如此之多的表述方式,如下几种:

    • 只与你直接的朋友们通信(Only talk your immediate friends)
    • 不要和陌生人说话(Don't talk strangers)
    • 每一个软件单位对其他的软件单位都只有最少的知识,并且局限于那些本单位密切相关的软件单位.

    也就是说,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中的一个类需要另一个类的某一个方法的话,可以通过第三者转发这个调用.

    单:单一职责原则

    就一个类而言,应该仅有一个引起它变化的原因, 如果你能想到多余一个的冬季去改变一个类,那么这个类就具有多于一个的职责,应当把多于的职责分类出去,分别再创建一些类来完成每一个职责.

    依:依赖倒置原则

    要求客户端依赖于抽象耦合

    • 模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的.
    • 接口或抽象类不依赖实现类.
    • 实现依赖接口或抽象类.

    采用依赖倒置原则可以减少类间耦合性,提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性.

  • 相关阅读:
    Codeforces 1457D XOR-gun
    华东交通大学2020年ACM“双基”程序设计竞赛 题解
    Codeforces-1433F-Zero Remainder Sum
    Codeforces-1430D- String Deletion
    Codeforces 1315D Recommendations
    Codeforces Skyscrapers (hard version)
    Codeforces-1470C(Chocolate Bunny)
    Hdu 6863
    杭电多校2020-7&&hdu 6769 In Search of Gold
    Codeforces-1384B2 Koa and the Beach (Hard Version)
  • 原文地址:https://www.cnblogs.com/A-FM/p/11242437.html
Copyright © 2020-2023  润新知