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

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

单一职责原则

就是一个类值做一件事情。引起它发生变化的仅仅有一个。

我们常常会听到一个词语“高内聚、低耦合”。我们将职责定义为引起变化的原因。以提高内聚性来降低引起变化的原因。

若是职责越多,耦合性就会越高;我们略微哪个地方有修改,都会波及到其它的类。

开放封闭原则

      地方详细体如今:对扩展开发、对改动关闭。

什么意思呢?对扩展开放,意味着有新的需求或变化时,能够对现有代码进行扩展。以适应新的情况;对改动封闭。意味着类一旦设计完毕。就能够独立完毕其工作,而不要对其进行不论什么尝试的改动。

事实上,我们在实际的编程过程中,用的最多。

您想想:一般我们在设计的时候,我们会设计抽象类、接口(行为);然后详细的实现类是通过继承的方式;我们通过覆写的方式来编写不同详细的实现类的方法;这就是此设计原则的真实写照。

依赖倒置原则

其核心思想是:依赖于抽象。

详细而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于详细,详细依赖于抽象。当两个模块之间存在紧密的耦合关系时,最好的方法就是分离接口和实现:在依赖之间定义一个抽象的接口使得高层模块调用接口。而底层模块实现接口的定义,以此来有效控制耦合关系,达到依赖于抽象的设计目标。

抽象的稳定性决定了系统的稳定性,由于抽象是不变的,依赖于抽象是面向对象设计的精髓,也是依赖倒置原则的核心。依赖于抽象是一个通用的原则。而某些时候依赖于细节则是在所难免的,必须权衡在抽象和详细之间的取舍。方法不是一层不变的。依赖于抽象,就是对接口编程。不要对实现编程。

接口隔离原则

      其核心思想是:使用多个小的专门的接口,而不要使用一个大的总接口。我们在设计接口的时候。详细而言,接口隔离原则体如今:接口应该是内聚的,应该避免“胖”接口。一个类对另外一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,这是一种接口污染。

   里氏替换(Liskov替换)原则

      不论什么基类能够出现的地方,子类一定能够出现。LSP是继承复用的基石。仅仅有当子类能够替换基类,软件单位的功能不受影响时,基类才干真正的被复用,而子类也能够在基类的基础上添加新的行为。Liskov替换原则,主要着眼于对抽象和多态建立在继承的基础上,因此仅仅有遵循了Liskov替换原则。才干保证继承复用是可靠地。实现的方法是面向接口编程:将公共部分抽象为基类接口或抽象类,通过Extract
Abstract Class。在子类中通过覆写父类的方法实现新的方式支持相同的职责。

时间: 2024-12-23 05:51:39

面向对象编程的软件设计原则的相关文章

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

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

软件设计原则和方法通俗理解

网上有很多关于软件设计原则的说法,很精确,很官方,但是对于有些初学者来说可能是不知所云,到最后把自己给郁闷到了,学习软件应该是一件愉快的事情. 那么软件设计原则有哪些呢? (1)可靠性 做出一个可靠的软件,跟女人找一个可靠的男人一样,女人找男人,需要男人品质好,人品好,靠谱,可信赖,可依靠,身材高大,等等.软件设计也是一样,在软件的设计阶段就要非常注意软件的可靠性,不要等到最后用的时候发现软件这里不行那里不行,或者说在使用软件过程中一旦发现问题还是可以恢复使用,不能直接崩溃. (2)健壮性 这个

主流MVC框架的设计模式及遵守的软件设计原则

原文地址,会不断更新  http://it.zuocheng.net/mvc-design-pattern-design-principle-summary   作程的技术博客 本文以主流的MVC框架为例,比如Java 的SSH.PHP的Symfony和Zend Framework ,在简单地剖析他们的设计原理之后,找到其中使用的设计模式:鉴赏他们的代码实现,查看设计者们都遵守了哪些软件设计原则.作此文,一为学习,二为总结.其中下面所写内容可能并不全面,也可能不准确,但会不断修改完善. 框架模式

C#使用设计模式和软件设计原则构建应用程序 PartIII

依赖注入 这个原则的要点是什么.为什么你不能对类的实例进行再次硬编码?当我们编码,测试的时候,让我们关注一件很重要的事情.希望你知道单元测试并知道它的重要性.也许在你做任何编码之前你都应该首先设计你的测试,因此你应该很熟悉测试驱动开发.为了定义新功能你应该去写测试,你应该尝试去实现并开始编码直到测试通过.让我们先看看之前的文章的代码. public class DateBasedTaxFactory:ITaxFactory { Customer _customer; ITaxFactory _t

面向对象软件设计原则

提起面向对象,大家也许觉得自己已经非常“精通”了,起码也到了“灵活运用”的境界.面向对象设计不就是OOD吗?不就是用C++.Java.Smalltalk等面向对象语言写程序吗?不就是封装+继承+多态吗? 很好!大家已经掌握了不少对面向对象设计的基本要素:开发语言.基本概念.机制.Java是一种纯面向对象语言,是不是用Java写程序就等于面向对象了呢?我先列举一下面向对象设计的11个原则,测试一下大家对面向对象设计的理解程度-^_^- 单一职责原则(The Single Responsibilit

面向对象的七个设计原则

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

[转载] 一些软件设计原则

转载地址:http://blog.jobbole.com/685/ 下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中. Don’t Repeat Yourself(DRY) DRY是一个最简单的法则,也是最容易被理解的.但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易 的事).它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码 让他们以一些

[转载] 面向对象编程的6大原则

原文: http://blog.csdn.net/bboyfeiyu/article/details/43928463 概述 在工作初期,我们可能会经常会有这样的感觉,自己的代码接口设计混乱.代码耦合较为严重.一个类的代码过多等等,自己回头看的时候都觉得汗颜.再看那些知名的开源库,它们大多有着整洁的代码.清晰简单的接口.职责单一的类,这个时候我们通常会捶胸顿足而感叹:什么时候老夫才能写出这样的代码! 在做开发的这些年中,我渐渐的感觉到,其实国内的一些初.中级工程师写的东西不规范或者说不够清晰的原

面向对象的七种设计原则

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