今天学了比较高深的设计模式的相关知识。我挺老实讲都有些头大,差点就下意识的跑神儿。但是为了温故,就冒犯一下JAVA写篇关于设计模式的文章。仅是知识简单记录而已,这些设计理念是需要代码来沉淀的,就算先混个脸熟吧。
JAVA 6 种设计原则 (本应配合具体例子代码,但目前我还没有这个能力)
六中设计模式分别是:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。
1.单一职责原则(SRP,Single Responsibility Principle)
有且只有一个原因引起类的变化。
单一职责主要对接口而言,强调的是职责的分离,即每个类只有一个职责。可以看做是低耦合高内聚的延伸设计中最好尊寻这一原则。
2.里氏替换原则
Function that use pointers ore references ti base classes must be able to use object of derived dlassed classes without knowing it.
主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。 具体体现在:
A子类必须完全实现父类方法
B子类可以有自己的个性
C重载overload 或实现父类方法时输入参数可以被放大
D重写override 或实现父类的方法时输出结果可以被缩小
3.依赖倒置原则(DIP,Dependence inversion Principle)
高层模块不应该依赖于低层模块。它们都应该依赖于抽象。
抽象不应该依赖于具体。具体应该依赖于抽象。
依赖可以传递。
依赖只建立在方法参数里而不是方法体里或构造方法里。
4.接口隔离原则
接口有三种接口,分别为实例接口、类接口、应用程序接口(API)。一个类里面的方法的集合的接口隔离,称作“角色隔离原则”;另外一种叫做“定制服务”。
角色隔离,是指客户端要多个不同的类的方法,我们就搞几个不同类别的接口(Interface)
定制服务就是一个类,A用户的一些方法(权限),我放在一个java接口(Interface)里面,B用户的另外一些方法,放在另外一个接口(Interface).
5.迪米特法则(Law of Demeter,LOD 或者 Least Knowledge Principle ,LKP)
表述一:即一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。
表述二:通过它的友元类来转达信息,不和其他类直接建立接触。
表述三:核心内容是解耦合,弱耦合,只有弱耦合类的复用率才能提高,系统才能更好的扩展。
6.开闭原则
“开-闭”原则,即“对扩展开放,对修改关闭”,指的是在软件设计中,当对某一软件实体进行扩展时,尽量不要去修改原有的软件实体,换句话说就是在不修改原有软件实体的情况下对其进行扩展。
这个原则比较模糊,前五个原则是它的具体体现。
===================================================================
暂时没有太多自己的理解。故,望大家指点。
分享到:
相关推荐
深入浅出java设计模式(高清中文PDF)
java设计模式,java设计模式,java设计模式,java设计模式,java设计模式,java设计模式,java设计模式,java设计模式,
JAVA设计模式教程,程序员必备,从浅入深JAVA设计模式教程,程序员必备,从浅入深JAVA设计模式教程,程序员必备,从浅入深JAVA设计模式教程,程序员必备,从浅入深JAVA设计模式教程,程序员必备,从浅入深JAVA设计...
java设计模式,刘伟版。高清目录带书签。24种设计模式。
java设计模式可以深入研究java程序的开发,熟悉各种开发模式,可以大大提高编程效率。
关于JAVA设计模式的试题,希望大家能用的到
深入浅出设计模式附书源码Java版源代码
java设计模式考试题全文共4页,当前为第1页。java设计模式考试题全文共4页,当前为第1页。 java设计模式考试题全文共4页,当前为第1页。 java设计模式考试题全文共4页,当前为第1页。 java设计模式考试题全文共4页,...
java设计模式java设计模式java设计模式java设计模式java设计模式
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
用myeclipse开发的java设计模式课程设计,课题内容为西瓜工厂,包含四个设计模式,单例模式、代理模式、建造者模式和抽象工厂模式,有较好的图形界面,文档内附有完整代码,适用于新手学习。
JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式JAVA设计模式
java设计模式。以及相关模式的应用
设计模式示例代码(java)设计模式示例代码(java)v设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)...
Java版本设计模式,深入浅出系列 Java版本设计模式,深入浅出系列 Java版本设计模式,深入浅出系列
java设计模式的相关文档ppt(自己做的)
深入浅出设计模式.pdf,电子版,下载,深入浅出设计模式.pdf,电子版,下载
23种java设计模式
深入浅出设计模式C#Java版,经典书籍,希望对大家有帮助。