zoukankan      html  css  js  c++  java
  • 类设计原则

    1. 开闭原则:在扩展方面开放,在修改方面封闭。多用接口、抽象类、多态等技术来设计。

           实现方法:把不变的部分抽象成接口;

    接口要注意最小功能实现;

    模块之间的调用要通过接口进行,这样即使实现层发生变化,也无需修改调用层的代码;   

    1. 替换原则:子类可以替换父类,并出现在父类出现的任何地方。
    2. 依赖原则:依赖关系尽量依赖接口和抽象类。具体类只负责业务实现,修改具体类不会影响整个业务的依赖关系。

               高层模块不应该依赖于低层模块,二者都应该依赖于抽象。

                抽象不应该依赖于细节,细节应该依赖于抽象

    1. 接口分离原则:使用多个专门的接口要比使用单一接口涵盖多个功能好。
    2. 单一职责:类在。一个操作类只完成一种职责。

    设计时如何划分职责:可分为实体类,操作类,边界类;

      一种职责:引起该类发生变化的一个原因;

      操作类:控制类有效将业务逻辑独立于实体数据和边界控制,专注于处理业务逻辑,控制类会将特有的操作和实体类分离,者有利于实体类的统一化和提高复用性。

    操作类要面向接口。

    如何分解操作类:

    类的关系:

    关联:一个类知道另一个类的属性和方法;使用成员变量来实现;

    聚合:表示整体与部分之间的关系,也是通过成员变量来实现,只是关联的两个类是同一层次的,聚合的两个类是不同层次的,一个代表整体一个代表部分;部分可以离开整体而独立存在。

    合成:比聚合的关系还要强,它要求聚合关系中代表整体的对象负责代表部分对象的生命周期。整体要负责部分存活状态的创建和销毁。

    依赖:局部变量,方法的参数,静态方法的调用。

  • 相关阅读:
    2013.11.19上班 任务:写文档
    js 时间比较和货币格式显示
    SQL优化
    多线程消费队列中的接口数据,接口数据来源是kafka
    List<Map<String, Object>> 中根据某一个属性进行排序
    ES查询操作
    Valid Sudoku
    Decode Ways
    Jump Game
    Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/xskblog/p/10130233.html
Copyright © 2011-2022 走看看