1. 封状变化
找出应用中可能需要变化之处,把它们独立出来, 不要和那些不需要变化的代码混在一起。
区分可变及不变因素,对可变因素进行封装,一般用接口封装,达到可以随时替换可变因素而程序结构无需变动。
对于变化部分尽量用接口封状。
2.针对接口编程,应用接口不同的实现对程序结构无影响
3.单一职责 可以降低耦合度
每一个类都有一个清晰明了的职责,只做自己的事情,不要加入与自己主要职责无关的其它职责。
功能的粒度更细小,更加容易组合实现业务功能。
4.多组合少继承
不要为了代码复用而使用继承,在利用多态时使用继承。
多态可以保证上层结构不变的情况下,行为的改变。对于继承实现的子类,其行为是固定的,不可变,而子类使用组合,该子类就可能有更多的行为
继承+组合可以达到更大的灵活性。
5.最少知识原则-最少有朋友(迪米法特原则)
1.对象之间尽量少的关联,依赖。
2.关联的对象间尽量少的了解对方。(可以使用接口耦合,而不是具体类耦合)
6.开放-关闭原则(Open Close Principle)
开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。
开闭原则的对象:骨架类的核心结构、接口声明等。
对扩展开放:对接口或抽像类等进行扩展,来实现新的功能。
对修改关闭:接口中明确定义的方法或骨架类的核心结构,不要轻易的修改。
相关推荐
OOD设计基本原则 一. 开-闭原则 :我们改变不了历史,但我们可以改变未来。
软件设计的七大原则(OOD)
OCP原则 里氏替换原则 依赖倒置原则 接口隔离原则 聚合与继承原则 单一职责原则 Separation of concerns Principle Pareto Principle (帕雷多原则 80/20原则)
全书共11章,总结出了60多条面向对象设计(OOD)的指导原则。这些经验原则涵盖了从类到对象(主要强调它们之间的关系,包括关联、使用、包含、单继承、多继承)到面向对象物理设计的重要主题。本书将帮助你理解经验...
ood(object oriented design)面向对象设计 如所熟知,面向对象作为一种程序设计技术最早于60年代后期提出,用于Simula的应用程 序开发。到了70年代,面向对象成为Smalltalk语言的一个重要特征。当时,面向对象技术...
OOD六大设计原则及其内涵,用实例解析
我们在进行面向对象设计(OOD)时应该怎样进行,遵循什么原则呢?我们或许听说过设计模式,那是针对特定的问题提出的特定的解决方法。面向对象的设计从提出到现在经过很多人的经验和实践,也总结出了很多原则。
开闭原则(OCP:Open-ClosedPrinciple)是指在进行面向对象设计(OOD:ObjectOrientedDesign)中,设计类或其他程序单位时,应该遵循:-对扩展开放(open)-对修改关闭(closed)的设计原则。开闭原则是判断面向对象...
4. 记住面向对象七大设计原则是哪些 5. 掌握七大设计原则都解决了什么问题 6. 掌握简单工厂模式 7. 掌握工厂方法模式 8. 掌握抽象工厂模式 9. 掌握原型模式 10. 掌握构建者模式 课程内容 1. 了解OOP、OOA、OOD的概念...
面向对象设计原则和23个设计模式的笔记: 面向对象的三个特征的个人理解; 面向对象的核心的6个设计原则的个人理解; 四人帮的23个设计模式的个人理解; 绝对原创,绝对经典.给大家共享下.
Shubho:通过我们关于面向对象设计原则(OODP,即SOLID原则)的对话,我想你已经对面向对象设计原则(OODP)有了基本的认识。希望你不要介意我把对话分享到博客上。你可以在这找到它:《如何向妻子解释OOD》. 设计...
重用发布等价原则前言RobertC.Martin氏为我们总结了在面向对象的设计(OOD)中应该遵循的原则,这些原则被称为“PrinciplesofOOD”,关于“PrinciplesofOOD”的相关文章可以从ObjectMenter得到。本文介绍...
面向对象设计原则,还有例子,不错的东东哦。
面向对象设计的主要任务就是类的设计,不少面向对象(OO)的先驱和前辈已经提出了很多关于类的设计原则,用于指导OOP,其中就包括类设计的五项基本原则。 1.单一职责原则(Single Resposibility Principle,SRP) ...
面向对象设计原则,doc格式,方便编辑整理。
61条面向对象设计的经验原则,非常有用的。要有一定的OOA,OOD的基础
七大原则&&六大关系 开-闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开发,对修改关闭.说的是,再设计一个模块的时候,应当使这个模块可以在不被修改...这是面向对象设计(OOD)的基石,也是最重要的原则。