zoukankan      html  css  js  c++  java
  • 编程法侧

    刚入手时感觉这个理由那个理由不如自己自由发挥,但写出来的代码实在太乱,维护难度非常大。苦硬自己设计时去多想这些法则,结果最好代码大大改观。

    1.开闭法侧 OCP. 模块应该易于扩展(开放),但免于修改(关闭)。

    这样的结构是易于扩展,相互隔离,实现的技术是动态多态。

    2.依赖反转法则 DIP

     依赖抽象而不依赖具体。

    高层模块不再依赖于含有实现细节的模块,而是依赖抽象的接口。通过抽象的接口取代被依赖的中间层,保证了上层结构的稳定。

    3.接口隔离法则 ISP

     不应该强迫客户端依赖于它们用不上的方法。因不同的客户需要划分多个不同的专用接口。

    type

    TSports=class(Tobject)

     procedure Run;

     procedure Fly;

     procedure jump;

     procedure cycle;

    end;

    //将上面这个类改进分隔为以下,当然分隔是按需求进行的

     IOpicA=class(IInterface)

    ['{0CBC0EC1-BCDC-418C-A35E-595D2DE78029}'

     procedure Run;

     procedure Fly;

    end;

    IOpicB=class(IInterface)

    ['{0CBC0EC1-BCDC-418C-A35E-595D2DE78019}'

     procedure jump;

     procedure cycle;

    end;

    4.单一职责法则 SRP

     一个类应该公有一个原因导致其变化。“一个原因”好比工作人员的职责,比如小区一个保安,假定他的职责是检查进出车辆,那么只有当有车进或有车出时,将会触发他上前进行检查。当一个类包含多个职责,且它们的关系错综复杂时,分离不当,会有循环依赖问题。这时可以用接口隔离法则进行分离。

  • 相关阅读:
    1. Visual Basic概述
    4. HTML5
    Android 操作SQLite基本用法
    android开发规范
    ListView与ArrayAdapter的搭配使用
    个人笔记——Android网络技术
    Java中forEach, 用来遍历数组
    详细讲解Android的网络通信(HttpUrlConnection和HttpClient)
    简单使用URLConnection、HttpURLConnection和HttpClient访问网络资源
    Http编程之HttpClient
  • 原文地址:https://www.cnblogs.com/carcode/p/12507903.html
Copyright © 2011-2022 走看看