`
fanfq
  • 浏览: 270928 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

面向对象设计原则--《敏捷软件开发》

阅读更多


摘抄自《敏捷软件开发-原则、方法与实践》-Robert C. Martin

(1)SRP 单一职责原则
就一个类而言,应该仅有一个引起它变化的原因。
职责即为"变化的原因".
 
(2)OCP 开放封闭原则
软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。
对于扩展是开放的,对于更改是封闭的.
关键是抽象.将一个功能的通用部分和实现细节部分清晰的分离开来.
开发人员应该仅仅对程序中呈现出频繁变化的那些部分作出抽象.拒绝不成熟的抽象和抽象本身一样重要.
 
(3)LSP Liskov替换原则
子类型必须能替换掉他们的基本类型
 
(4)DIP 依赖倒置原则
抽象不应该依赖于细节。细节应该依赖于抽象。
Hollywood原则: "Don't call us, we'll call you".程序中所有的依赖关系都应该终止于抽象类和接口。针对接口而非实现编程。
任何变量都不应该持有一个指向具体类的指针或引用。
任何类都不应该从具体类派生。
任何方法都不应该覆写他的任何基类中的已经实现了的方法。
 
(5)ISP 接口隔离原则
不应该强迫客户依赖于他们不用的方法。接口属于客户,不属于他所在的类层次结构。
多个面向特定用户的接口胜于一个通用接口。
 
(6)REP 重用发布等价原则
重用的粒度就是发布的粒度.
 
(7)CCP 共同重用原则
一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。
相互之间没有紧密联系的类不应该在同一个包中。
 
(8)CRP 共同封闭原则
包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响.
 
(9)ADP 无依赖原则
在包的依赖关系中不允许存在环.
细节不应该被依赖.
 
(10)SDP 稳定依赖原则
朝着稳定的方向进行依赖.
应该把封装系统高层设计的软件(比如抽象类)放进稳定的包中,不稳定的包中应该只包含那些很可能会改变的软件(比如具体类)。
 
(11)SAP 稳定抽象原则
包的抽象程度应该和其他稳定程度一致.
一个稳定的包应该也是抽象的,一个不稳定的包应该是抽象的.
 
(12)DAP(Default Abstraction Principle)缺省抽象原则
在接口和实现接口的类之间引入一个抽象类,这个类实现了接口的大部分操作.
 
(13)IDP(Interface Design Principle)接口设计原则
规划一个接口而不是实现一个接口。
 
(14)BBP(Black Box Principle)黑盒原则
多用类的聚合,少用类的继承。
 
(15)DCSP(Don't Concrete Supperclass Principle)不要构造具体的超类原则
避免维护具体的超类。
分享到:
评论

相关推荐

    敏捷软件开发原则、模式与实践.pdf

    《敏捷软件开发原则、模式与实践》一书是由著名软件开发专家、软件工程大师Robert C. Martin所著。这本书自出版以来,就被视为敏捷开发领域内的经典之作,对于软件开发人员、项目经理以及软件项目领导者来说,它提供...

    敏捷软件开发-原则-模式与实践

    敏捷软件开发-原则-模式与实践 不可不读的好书

    敏捷软件开发:原则、模式与实践(C#版)中文.pdf

    Martin在《敏捷软件开发:原则、模式与实践(C#版)》中深入而生动地使用真实案例讲解了面向对象设计的基本原则、重要的设计模式、UML和敏捷方法。 《敏捷软件开发:原则、模式与实践(C#版)》Java版曾荣获2003年第13...

    敏捷软件开发:原则 模式与实践 C#版

    本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin深入而生动地使用真实案例讲解了面向对象基本原则、重要的设计模式、UML和敏捷实践等程序员必备的知识。本书于2003年荣获第13届Jolt大奖,是C++和Java...

    敏捷软件开发 原则模式与实践

    《敏捷软件开发:原则、模式与实践》是Robert C. Martin(简称Uncle Bob)的一部经典著作,这本书深入探讨了敏捷开发的理念、方法和工具,尤其针对C#编程语言进行了详细阐述。作为一本实践导向的技术书籍,它旨在...

    敏捷软件开发:原则、模式与实践(C#版).pdf

    综上所述,《敏捷软件开发:原则、模式与实践(C#版)》不仅是一部阐述面向对象设计原则与设计模式的深入浅出之作,也是一部敏捷开发实践的优秀指南,通过丰富的案例分析和实战演练,帮助软件开发者掌握敏捷开发的...

    面向对象数据结构与软件开发

    通过以上对面向对象数据结构与软件开发的核心知识点的介绍,我们可以看出,面向对象的设计思想不仅有助于构建更加灵活和可维护的软件系统,而且在实际开发过程中,结合合适的数据结构和设计模式,能够显著提高开发...

    敏捷软件开发,原则与设计模式

    ### 敏捷软件开发:原则与设计模式 #### 引言 敏捷软件开发是一种强调适应性和灵活性的方法论,旨在提高软件开发效率并更好地满足客户需求。它通过一系列实践、价值观和原则来实现这一目标。本篇文章将从给定的...

    敏捷开发-敏捷软件开发:原则、模式与实践(全、高清有目录)

    敏捷开发-敏捷软件开发:原则、模式与实践(全、高清有目录)

    敏捷软件开发:原则、模式与实践(全).pdf

    Martin,作为敏捷开发的权威和实践者,通过《敏捷软件开发:原则、模式与实践》一书,向读者展示了一系列核心原则、模式和实践经验,旨在解决软件开发人员、项目经理及软件项目领导在开发过程中面临的问题。...

    [敏捷软件开发:原则、模式与实践(C#版)].(马丁).邓辉.扫描版.pdf

    [敏捷软件开发:原则、模式与实践(C#版)].(马丁).邓辉.扫描版.pdf

    面向对象过程设计-使用UNL与统一过程课后题答案

    面向对象过程设计是一种重要的软件开发方法,它结合了面向对象的思想和迭代的统一过程(Unified Process,UP)原则,以创建高效、可维护的软件系统。在这个主题中,"使用UNL与统一过程"可能指的是使用统一建模语言...

    敏捷软件开发:原则、模式与实践(带书签,源码)

    《敏捷软件开发:原则、模式与实践》是一本深度探讨敏捷开发理念、方法和技术的权威著作。这本书由著名软件开发专家Robert C. Martin撰写,旨在帮助开发者和团队更有效地进行软件开发,提升软件项目的成功率。书中...

    敏捷软件开发:原则、模式与实践(C#版·修订版)

    《敏捷软件开发:原则模式和实践(C#版)》不仅是一部深入浅出、生动易懂的面向对象原则与设计模式著作。而且还是一部通俗的敏捷方法导引书和快速实用的LJML教程。通过《敏捷软件开发:原则模式和实践(C#版)》你会发现,...

    敏捷软件开发:原则模式与实践

    《敏捷软件开发:原则模式与实践》是由著名软件开发专家、软件工程大师Robert C. Martin(别名Uncle Bob)所著的指导书籍,旨在为软件开发人员、项目经理以及软件项目领导提供解决实际问题的方法和策略。本书将敏捷...

    敏捷软件开发+原则、模式与实践.pdf

    《敏捷软件开发:原则、模式与实践》(Agile Software Development: Principles, Patterns, and Practices)是由全球知名的软件开发专家、软件工程大师Robert C. Martin(俗称“Uncle Bob”)所著。这本书全面地介绍...

    敏捷软件开发:原则、模式与实践(C#版)英文.pdf

    除了介绍敏捷开发的原则外,《敏捷软件开发:原则、模式与实践(C#版·修订版)》还深入探讨了面向对象设计的基本模式,以及这些模式在C#中的应用。 1. **工厂模式**:提供了一个创建对象的接口,但允许子类决定实例...

    敏捷软件开发.doc

    ### 敏捷软件开发核心理念与实践 #### 敏捷宣言与原则 敏捷软件开发,源于21世纪初,由一群软件开发领域的先驱者共同创立,旨在应对快速变化的市场需求,提高软件开发效率和质量。《敏捷软件开发宣言》明确提出了...

    敏捷软件开发:原则、模式与实践.pdf

    中文名: 敏捷软件开发:原则、模式与实践 原名: Agile Software Development:Principles,Patterns and Practices 别名: 软件工程实践丛书 作者: (美)Robert C.Martin译者: 邓辉 孟岩图书分类: 软件 资源格式: PDF ...

Global site tag (gtag.js) - Google Analytics