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

  • 相关阅读:
    WP7 可以在XAML中使用的 缓存图片控件(适合静态)
    wp7蛋疼的90M内存限制,优化图片使用内存(4)[解决]
    Caliburn.Micro for wp7 学习笔记(2) : 响应 Butto事件
    Caliburn.Micro for wp7 学习笔记(3) : 响应 Butto事件原理
    Caliburn.Micro for wp7 学习笔记(1) : 建立 Caliburn.Micro 框架的 wp7 项目
    anthem.net 简单学习
    新公司研发能力低下,何去何从?
    C/C++指针和取地址操作
    利用bochs 调试(转)
    winform模式对话框和非模式对话框
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/5406109.html
Copyright © 2011-2022 走看看