zoukankan      html  css  js  c++  java
  • 面向对象五大设计原则的简单指导

    五大设计原则是:

    1.职责单一

    2.对修改封闭,对扩展开放

    3.子类可在任何情况下替代父类

    4.接口细分

    5.具体实现依赖抽象

    简单指导,一看就晓:

    1.根据业务流程,把业务对象提炼出来。如果业务流层的链路太复杂,比如多条进线,那么就把这个业务对象分离为多个单一业务对象。当业务链路标准化后,对业务对象的内部情况做进一步的处理。把第一次标准化视为最高层抽象,第二次视为次高层抽象,以此类推,直到“恰如其分”的设计层次。

    第二,职责的分类需要注意。有业务职责,还有脱离业务的抽象职责,从认识业务到抽象算法是一个层层递进的过程。

    2.对客户代码(使用该类的地方)封闭,对服务代码(该类的具体实现可以修改,或者替换)开放。

    要实现这个需要面向接口编程,因为接口是遵从不变原则的;

    需要一个配置器,负责衔接工作;

    需要个中间层,隔离客户端和服务器。

    3.第一,是客户端不对具体实现有任何假定。也就是不能有侦测具体类型的代码。

    第二,面向接口编程。

    第三,具体实现需要通过外部测试代码(客户端对服务端的白盒测试),这个包含具体的业务要求,只是符合单纯的接口是不具实际意义的。

    4.客户端不应该使用那些他只是局部使用了的接口,当出现这种情况,应该建立一个新的接口,新接口应该一一对应客户端的需求。

    5.第一,面向接口编程。

    第二,服务分层模型中,上层代码不(直接)使用下层,而是下层使用上层。通过分离的配置附件来衔接各层级的关系。

    第三,不同的抽象级别中,高层抽象不使用低层抽象,低层抽象使用高层抽象。

    第四,把业务逻辑放在高层中,抽象化编程。

  • 相关阅读:
    [转]ASP.NET中JSON的序列化和反序列化
    [转]JavaScriptSerializer中日期序列化
    [转]国外英语教学网页
    [转]linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)
    [转]Business Model Canvas(商业模式画布):创业公司做头脑风暴和可行性测试的一大利器
    [转]sql server transaction
    CentOS7安装配置PostgreSQL9.6
    使用struts的同步令牌避免form的重复提交
    Flink初探-为什么选择Flink
    jdbc三种常见用法
  • 原文地址:https://www.cnblogs.com/Nobel/p/1945365.html
Copyright © 2011-2022 走看看