zoukankan      html  css  js  c++  java
  • 设计模式--六大原则

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

    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):对修改关闭,对扩展开放,也就是说在业务迭代过程中,不应该去修改原有的业务逻辑,而应该通过继承来在原来的基础上进行扩展,而不对原有逻辑进行修改,当然原有逻辑是错的不包括在内。

  • 相关阅读:
    分享
    分享
    分享
    分享
    基于加权相似度的相关性排序算法的研究 中国学术期刊网络出版总库
    分享
    基于用户点击行为的数字图书搜索系统研究与实现 中国优秀硕士学位论文全文数据库
    分享
    垂直搜索引擎分类索引系统的设计与实现 中国优秀硕士学位论文全文数据库
    基于相关反馈技术的检索结果排序模型研究 中国优秀硕士学位论文全文数据库
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/5406109.html
Copyright © 2011-2022 走看看