老调重弹--面向对象设计原则--包设计原则

前言

在计算机编程中,包设计原则作为一种方式在大型系统中组织类使系统更加有组织和可管理,它指导我们让我们明确哪个类应该放在哪个包里面(包的内聚原则),以及包与包之间如何互相关联的关系(包的耦合原则)

包的内聚原则

  • 重用等价发布原则(Reuse-release equivalence principle,REP)
    • 包必须和可复用的类一起创建
    • 类的粒度等价于包的粒度
    • 重用的粒度就是发布的粒度
    • 要么类全部包含在包里,要么全部不包含在包里
  • 共同重用原则(Common-reuse Principle,CRP)
    • 一个包中的所有类应该是共同重用的
    • 如果重用了包中的一个类,那么就要重用包中的所有类
  • 共同封闭原则(Common-closure Principle,CCP)
    • 包中的所有类对于同一类性质的变化应该是共同封闭的
    • 一个变化若对一个包产生影响,则将对该包中的所有类产生影响,对其他包则不影响

包的耦合原则

  • 无环依赖原则(Acyclic dependencies principle,ADP)
    • 在包的依赖关系中不允许存在环
  • 稳定依赖原则(Stable-dependencies principle,SDP)
    • 朝着稳定的方向进行依赖
  • 稳定抽象原则(Stable-abstractions principle,SAP)
    • 包的抽象程度应该和其稳定程度一致
时间: 2024-08-08 13:39:18

老调重弹--面向对象设计原则--包设计原则的相关文章

(精)分包原则/包的设计原则/组件(包)设计原则

http://blog.csdn.net/it_man/article/details/38292925 组件,或者叫程序集,是指一种能够被独立部署的二进制单元,一般是以DLL的形式存在的.针对大型的软件系统,良好的组件设计能够把系统分解为一些小的组件,从而使每个开发团队都可以只关注单个的组件而无需关心整个系统. 组件设计需要遵守如下原则: 重用-发布等价原则(REP) 即重用粒度就是发布粒度.一个组件中的类要么都是可以重用的,要么就都不可以重用. 共同重用原则(CRP) 一个组件中的所有类应该

分包原则/包的设计原则/组件(包)设计原则

组件,或者叫程序集,是指一种能够被独立部署的二进制单元,一般是以DLL的形式存在的.针对大型的软件系统,良好的组件设计能够把系统分解为一些小的组件,从而使每个开发团队都可以只关注单个的组件而无需关心整个系统. 组件设计需要遵守如下原则: 重用-发布等价原则(REP) 即重用粒度就是发布粒度.一个组件中的类要么都是可以重用的,要么就都不可以重用. 共同重用原则(CRP) 一个组件中的所有类应该是共同重用的,如果重用了组件中的一个类就应该重用组件中的所有类.即放入一个组件中的类是不可分开的,仅仅依赖

面向对象编程6大设计原则:单一职责原则

单一职责原则(Single  Responsibility Principle)简称SRP原则. 定义 应该有且仅有一个原因引起类的变更. 优点 可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多: 提高类的可读性,提高系统的可维护性: 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响. 说明 单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都适用单一职责原则: 单一职责原则要根据项目的实际情

面向对象的七个设计原则

一.单一职责原则 一个类,最好只做一件事,只有一个引起它的变化.单一职责原则可以看做是低耦合.高内聚在面向对象原则上的引申, 将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因.职责过多,可能引起它变化的原因就越多,这将 导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度.通常意义下的单一职责,就是指只有一种单一 功能,不要为类实现过多的功能点,以保证实体只有一个引起它变化的原因.专注,是一个人优良的品质:同样的,单 一也是一个类的优良设计.交杂不清的职责将使得代码看起来特

面向对象编程的软件设计原则

在開始Android软件实际APP開始之前,我们须要对面向对象设计原则及设计模式做一个初步的了解.才干在以后的实战过程中,少走弯路.使我们的软件开发生涯感觉到快乐.轻松.好了,废话少说,咱们今天给大家一起探讨一下软OOP中的软件开发设计原则.这些东东都是OOP的设计精髓,他们蕴藏着前辈留下的产物.眼下.软件设计最基本原则有下面几种(总共同拥有11种):单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则和里氏替换(Liskov替换)原则 单一职责原则 就是一个类值做一件事情.引起它发生变化的仅

03-04面向对象设计原则_设计实验

设计实验 有 3 个开关:a b c 有 3 个电灯:x y z 要求实现: a 能控制 x b 能控制 x, y c 能 x 注意:1个灯泡可以被多个开关控制:1个开关可以同时控制多个灯泡 所谓"控制":当开关操作时,当前灯泡的状态发生翻转.亮->灭 或 灭->亮 import java.util.*; class Light { private boolean state; // 灯的状态.true: 亮 public String toString() { if(st

面向对象的七种设计原则

下面的截图:主要讲述了七种设计原则定名称,定义以及使用的频率. ? 原则一:(SRP:Single responsibility principle)单一职责原则又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合) 描述: 类被修改的几率很大,因此应该专注于单一的功能.如果你把多个功能放在同一个类中,功能之间就形成了关联, 改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题. 原则二:开闭原则(OCP:Open Closed Principle) 核心思想:

设计模式<面向对象的常用七大设计原则>

面向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源码的重用,另一方面要确保系统能够易于扩展和修改,具有较好的灵活性. 常用的设计原则有七个原则: 1.单一职责原则(single responsibility principle,SPR) 一个类只负责一个功能领域中的相应职责.(或者可以定义为:就一个类而言,只有一个原因能够引起它变换). 单一职责原则是实现高内聚.低耦合的指导方针,是最简单的也是最难运用的原则. class Chart { private String ty

OO设计原则 -- OO设计的原则及设计过程的全面总结

这部分增加一点自己的感想,OO设计原则下面讲述的很清晰;看完之后有点感想如果我们在实际开发当中能够把这些原则熟烂于心的话那我们的代码质量和个人能力会有很显著的提神.根据自己的实际经验看很多开发者在开发过程中很多基本的知识确实没有熟烂于心导致开发的时候只有基本的内容.我所在的项目就是代码接口各种乱,可读性和可维护性特别差:当然自己在开发的时候也都没有做到,在后面的工作中尽量避免 前面发表了5篇OO设计原则的文章,在这里我将这个5个原则如何在我们设计过程进行应用进行一下总结, 这是我通过阅读和学习很