
设计模式之禅
li_101357
热爱技术,踏实勤奋,共创美好未来。。。
展开
-
第2章 单一指责原则(SRP)
一、单一指责原则(single responsibility principle, SRP)什么是类的职责?以及怎么划分类的职责1、单一指责的定义:应该有且仅有一个原因引起类的变更。 变化的原因就是所说的"职责"。2、如果一个类有多个引起它变化的原因,也就意味着这个类有多个职责。即把多个职责耦合在一起了。3、“职责”的粒度不好量化。实际开发中,这个原则最容易违反二、单一指责的优原创 2016-10-22 12:49:53 · 900 阅读 · 0 评论 -
第3章 里氏替换原则(LSP)
一、定义(1)、所有使用基类的地方必须能够使用子类进行替换,而程序的行为不会发生任何变化(替换为子类之后不会产生错误或者异常)。 只有这样,父类才能真正被复用,子类能够在父类的基础上增减新的属性和行为。才能真正的实现多态行为。(2)、当子类继承父类的时候,子类就拥有了父类的属性和行为。(注意:只是类型而已) 但是如果子类覆盖父类的某些方法,那么原来使用父类的地方就可能出现错误。原创 2016-10-23 20:24:52 · 2797 阅读 · 0 评论 -
第4章 依赖倒置原则(DIP)
一、定义1、模块间要依赖抽象,不要通过具体的实现类。依赖关系通过接口(抽象)进行编程,这就降低客户与实现模块间的耦合。(接口或抽象类不依赖于实现类,实现类依赖接口或抽象类 面向接口编程OOD) 包含三层含义:(1)高层模块不应依赖于低层模块,两者都应该依赖其抽象(2)抽象不应该依赖细节 (3)细节应该依赖于抽象2、高层模块和底层模块的概念(1)低层模块:每个逻辑的实现原创 2016-10-29 21:00:49 · 921 阅读 · 0 评论 -
第5章 接口隔离原则(ISP)
一、定义1、接口:分为两种(1)、实例接口:Java中声明一个类,然后用new关键字产生一个实例,是对一个类型事物的描述,这是一种接口。 例如:定义Person类,然后使用Person zhangsan = new Person()产生实例,Person类就是zhangsan的接口。(2)、类接口:使用interface关键字定义的接口。2、定义(1)、使用多个专门的接原创 2016-10-29 21:53:30 · 800 阅读 · 0 评论 -
第6章 迪米特法则
一、定义1、应尽量减少其他对象之间的交互,对象只和自己的朋友交谈,及对其他依赖的类越来越少(不要和太多的类发生关系)。2、尽量不要让类和类之间建立直接的关系,这样可以减少类之间的依赖,降低类之间的耦合。3、一个类应该对自己需要耦合的类知道的最少,只知道其public方法,其内部如何复杂跟自己没有关系,也叫最少知识原则。二、迪米特法则核心观念是类间解耦、低耦合,类的复用率才可以提原创 2016-10-30 12:42:47 · 424 阅读 · 0 评论 -
第1章 UML基础:类的关系
前前后后犹豫好久,到底是写不写设计模式,毕竟自己不是科班出身,最后还是决定根据大神博客和设计模式之禅写下几种常见的设计模式,等到后面使用的时候再来复习。不管是跟着什么资料在学习,记住一定要思考,一定要敲代码,一定要升华!!!1、类的关系1.1、继承(is-a)和实现:继承表示父子关系(子类是特殊的父类),实现有点像接口继承。 1.2、依赖(use-a):表示一个类要使用(u原创 2016-10-20 13:01:12 · 1368 阅读 · 0 评论 -
第8章 创建型模式---单例模式
一、单例模式1、定义:保证一个类仅有一个实例,同时提供能对该实例加以访问的全局访问方法。 2、解决思路:(1)、在类中,要构造一个实例,就必须调用类的构造函数。因此,为了在类的外部调用类的构造函数而创建实例,需要将构造函数的访问权限设为protected或private.(2)、需要提供全局访问点,就需要在类中定义一个static函数,返回在类中唯一构造的实例。二、原创 2016-10-30 13:21:12 · 311 阅读 · 0 评论 -
第9章 创建型模式—工厂方法模式(1)
一、简单工厂1、简单工厂的定义(1)提供一个创建对象实例的功能,而无需关心其具体实现。类图如下: 接口:接口是对行为的抽象,是一种行为规范。抽象类:抽象类是对事物的抽象(类的抽象),模版式设计。API接口:定义客户所需要的功能接口。(抽象类和接口均可以)Impl:具体实现Api的实现类,可能会有多个SimpleFatory类:工厂,选择合适的实现类原创 2016-11-14 22:57:46 · 323 阅读 · 0 评论