声明:本文内容是从网络书籍整理而来,并非原创。用户管理的例子
先看一张用户管理的类图: 再看一眼上面的图,思考:这样合理吗?
这个接口是一个很糟糕的设计! 用户的属性和行为竟然混合在一起!!!
正确的做法是把用户的信息抽取成一个业务对象(Bussiness Object,简称 BO),把行为抽取成另外一个接口中,我们把这个类图重新画一下: 这样划分成了两个接口,IUserBO 负责用户的属性,I...
分类:
其他好文 时间:
2015-08-04 17:15:39
阅读次数:
157
面向对象设计有以下几种原则1.开闭原则 Open-Close Principle(OCP)
2.里氏替换原则 Liskov Substitution Principle(LSP)
3.单一职责原则 Single Responsibility Principle(SRP)
4.接口隔离原则 Interface Segregation Principle(ISP)
5.依赖倒置原则 Depend...
分类:
其他好文 时间:
2015-08-03 16:57:47
阅读次数:
164
C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式、auto_ptr与单例模式、const成员函数、const 对象、mutable修饰符
前言
【例】写出面向对象的五个基本原则?
解答:单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则和里氏替换原则
里氏替换原则:子类型必须能够替换他们的基类型。
设计模式分为三种...
分类:
编程语言 时间:
2015-08-03 01:15:15
阅读次数:
175
概述在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职...
分类:
Web程序 时间:
2015-08-02 19:38:15
阅读次数:
138
单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。单一职责原则(SingleResponsibilityP...
分类:
其他好文 时间:
2015-08-02 16:39:58
阅读次数:
167
面向对象三要素 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism)面向对象五原则 单一职责原则(SRP) 开放-封闭原则(OCP) Liskov替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP)面向对象...
分类:
其他好文 时间:
2015-07-31 10:26:32
阅读次数:
189
设计模式的设计原则包含了:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则和开闭原则等6大原则。
单一职责原则(Single Responsibility Principle,简称SRP),英文介绍为:There should never be more than one reason for a class to change,即一个类,应当只有一个引...
分类:
其他好文 时间:
2015-07-29 23:09:47
阅读次数:
239
前面已经介绍了两个原则
开放封闭原则
单一职责原则
今天我们再来看看另外一个原则:依赖倒置原则,他包含两个方面
A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
B.抽象不应该依赖于具体,具体应该依赖于抽象。
其实这两句话总结起来说就是要依赖域抽象。在java中说白了就是要面向接口编程。
下面我们举个经典的例子:现在汽车很普遍,学了一个驾照大部分车都能开。但是你有没有...
分类:
编程语言 时间:
2015-07-27 21:00:31
阅读次数:
194
一.单一职责原则 Single Responsibility Principle, 简称SRP。 定义:There should never be more than one reason for a class to change. 应该有且仅有一个原因引起类的变更。 ? 职责的划分?单一的定义和级别...
分类:
其他好文 时间:
2015-07-27 13:25:13
阅读次数:
104
面向对象设计其实就是希望做到代码的责任分解。一个类的设计尽量要做到 “单一职责原则”;一旦需求发生变化,改动的地方就越小。如果一个类的方法里面有很多个逻辑处理(比如:else if分支过多),如果一旦需求发生变化,(比如:某个else if分支的需求发生变化),需要改动整个方法,维护出错的风险很大。...
分类:
其他好文 时间:
2015-07-26 12:35:24
阅读次数:
126