• 设计模式--六大原则


    面向对象的设计的几个目标:

    1. 可扩展性,比较容易添加新的功能;
    2. 灵活性,容易添加新的功能代码修改平稳地发生;
    3. 可插入性,容易将一个类处出来,同时接入另一个同样接口的类。

    终极的判断软件设计质量的标准:

    高内聚,低耦合

    1. 耦合性:模块之间的关系紧密程度。越紧密,耦合性越强,模块独立性越差,取决于模块间接口的复杂性,调用的方式,传递的信息;
    2. 内聚性:模块内部关系紧密为高内聚;
    3. 高内聚:单一模块内部相关性较强,只负责单独任务,不可分割;
    4. 低耦合:尽可能多模块之间独立性较强。

    设计基本原则:

    1,单一职责原则(Single-Responsibility Principle):一个类只处理一个职责,也就是说不要将很多东西都放在一个类里面,尽可能拆分处理,让每个类只负责某一部分的功能。

    2,里氏置换原则(Liskov Substitution Principle):Base类及其集成类的关系,子类除了新增尽可能不去重写和重载父类的方法,也就是说不要破坏父类的功能,通过不同的实现子类来进行扩展,并避免对父类进行修改。

    3,依赖倒置原则(Dependence Inversion Principle):说的是接口,抽象类及其实现类之间的关系,也就是说接口,抽象类不负责具体逻辑,具体逻辑交给继承或者实现类去处理,实现类依赖于接口和抽象类,而抽象类不依赖于实现类,减少对具体实现的耦合,通过抽象类或者接口实现解耦合

    网上具体讲解的实例:http://www.cnblogs.com/lzh_527/archive/2012/02/15/2352939.html

    4,接口隔离原则(Interface Segregation Principle):也就是说尽可能避免一个类和接口里面多个方法之间的关系,将接口合理细化,但不要过度细化。

    5,迪米特原则(Law of Demeter):减少类与类之间的耦合。

    6,开闭原则(open-Closed Principle):对修改关闭,对扩展开放,也就是说在业务迭代过程中,不应该去修改原有的业务逻辑,而应该通过继承来在原来的基础上进行扩展,而不对原有逻辑进行修改,当然原有逻辑是错的不包括在内。

  • 相关阅读:
    第一节 2字符串 简单
    第一节 1C#基础 简单
    终于找到wamp修改密码方式了!
    js通过class name获得元素
    JavaScript中arguments
    对技术的态度
    C++的坑真的多吗?
    js 常用正则
    js利用Array.splice实现Array的insert/remove
    c# asp.net webform web页面打印,可以控制需要打印和不需要打印的位置
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/5406109.html
Copyright © 2020-2023  润新知