设计模式
各自生欢°
趁年轻!不懈怠!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计原则·依赖倒置原则
依赖倒置的定义:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象 。大致意思是:编程要面向接口,不建议面向实现。面向实现会导致功能块耦合度增加,在更新扩展功能的时候造成麻烦,而面向接口编程会更有利于系统功能的扩展。使用接口或者抽象类可以在一定的规范下不涉及细节实现,将这些细节实现交给其子类去完成。依赖倒置原则的作用:依赖倒置原则可以降低类间的耦合性。...原创 2019-12-19 16:20:47 · 184 阅读 · 0 评论 -
设计原则·里氏替换原则
这个原则是指:一个程序里面的对象应该可以被它的子类替换,而不改变程序的正确性。其实在平常的编码中就常用到这种原则。public interface IStudent { List<Student> getStudent();}public class IStudentImpl implements IStudent { @Override publ...原创 2019-12-19 16:19:22 · 130 阅读 · 0 评论 -
设计原则·开闭原则
开闭原则的含义是对扩展开放,对修改关闭。意思就是在遇到新的需求或者变动的时候,提倡对原代码扩展使其满足新的需求,不提倡修改原代码来达到目的。一个项目不可能在开发完毕后就一成不变了,它总会有新的需求或者对老的需求进行更新。这样就要尽可能的遵从设计原则中的开闭原则,这个原则告诉我们,要尽量避免对原代码的修改,而是要根据新的需求,来扩展现有的代码达到系统完善的目的。比如现在和金融挂钩的项目,多少会...原创 2019-12-19 16:17:52 · 160 阅读 · 0 评论 -
设计原则·开闭原则
开闭原则的含义是对扩展开放,对修改关闭。意思就是在遇到新的需求或者变动的时候,提倡对原代码扩展使其满足新的需求,不提倡修改原代码来达到目的。一个项目不可能在开发完毕后就一成不变了,它总会有新的需求或者对老的需求进行更新。这样就要尽可能的遵从设计原则中的开闭原则,这个原则告诉我们,要尽量避免对原代码的修改,而是要根据新的需求,来扩展现有的代码达到系统完善的目的。比如现在和金融挂钩的项目,多少会...原创 2019-12-19 16:16:46 · 146 阅读 · 0 评论 -
设计原则·接口隔离原则
接口隔离原则的目的在将一个接口中的方法分类,分割成诸多更细划分的具体小接口,每个接口中的方法都是有共性的。这样写的目的就在于提高一个接口中的内聚。/** 查询接口*/public interface QueryService { /** * 查询班级 */ void QueryClazz(); /** * 查询学生 */ ...原创 2019-12-19 16:16:17 · 111 阅读 · 0 评论 -
设计原则·迪米特原则
设计原则**·**迪米特法则迪米特法则又叫作最少知识原则,就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。如果两个实体没有直接调用的必要,那么就可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性和复用性。但是这个法则也存在适用性,我们需要反复权衡,确保高内聚和低耦合的同时,保证系统的结构清晰。如果只是单纯的两个实体之间的调用大可不必通过第三方,但是如果需...原创 2019-12-19 16:15:05 · 134 阅读 · 0 评论 -
设计原则·单一职责原则
设计原则·单一职责原则单一职责字面意思就是每个类有着他们专属的责任,这样可以在更新某一个类逻辑的时候,不会影响到其他的逻辑。单一职责原则中有个相关名词:职责扩散。所谓职责扩散,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。在职责扩散在控制范围内可以适当的根据需要以一个类来背负多个责任。但是必须要在职责扩散失控之前重构代码。语言类public class Language ...原创 2019-12-19 16:14:05 · 115 阅读 · 0 评论 -
建造者模式
建造者模式建造者模式适用于创建对象,可以经过多个简单对象而构建成一个复杂的对象以满足需求。首先创建一个对象:public class PentaKill { private String one; private String two; private String three; private String four; private String ...原创 2019-11-14 16:02:41 · 112 阅读 · 0 评论 -
原型设计模式
原型设计模式原型模式就是一种对象的创建方式,就好比克隆技术一样,将已存在的对象实例复制一份创建新的实例。使用原型模式创建的实例和已存在的实例不仅结构相同,其中的数据也是一模一样的。根据对象克隆深度层次的不同,有浅客隆,深克隆。浅克隆:public class ShallowClone implements Cloneable{ String name; String se...原创 2019-11-12 16:40:58 · 149 阅读 · 0 评论 -
单例设计模式
单例设计模式单例模式的概要就是确保一个类只有一个实例,并提供一个全局访问点。懒汉式单例:对于实例做懒加载处理,即在客户第一次使用时再做创建,所以第一次获取实例的效率会稍微低一些。 /** * 将自身实例化对象设置为一个属性,并用static修饰 */ private static LazySingleton instance; /** * 静...原创 2019-11-11 18:22:09 · 112 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式抽象工厂模式是一个超级工厂,用来创建其他工厂。 这个工厂也被称为工厂的工厂。在抽象工厂模式中,接口负责创建相关对象的工厂,而不明确指定它们的类。 每个生成的工厂可以按照工厂模式提供对象。提供一个创建一系列相关或相互依赖的对象的接口 , 无需指定它们具体的类:public interface AbstractInternetFactory { /** * 获取品牌...原创 2019-11-11 18:19:37 · 113 阅读 · 0 评论 -
工厂方法模式
工厂方法模式/*** 根据品牌英文名称获取各品牌实例对象* @param englishName* @return*/public static Brand getInstance(String englishName){ if(ADIDAS.equals(englishName)){ return new Adidas(); }else if(NIKE...原创 2019-11-11 18:18:45 · 147 阅读 · 0 评论 -
简单工厂模式
简单工厂模式简单工厂模式又叫做静态工厂方法模式,他属于类创建型模式。在简单工厂模式中,定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。简单工厂模式将所有的实例创建集中到简单工厂类中进行,将创建对象获取实例的代码从应用代码中抽离,而是在简单工厂类的静态方法中处理创建对象的细节,如果创建的实例有扩展和改变,只需更新简单工厂类即可。但由于使用静态方法来获取...原创 2019-11-11 18:18:01 · 131 阅读 · 0 评论 -
设计模式
设计模式设计模式概念由GOF四人帮开创。有两点面向对象的设计原则:1、程序到一个接口不用实现。2、有利于对继承对象组合。主要用途:1、设计模式提供了代码设计的思想,方便开发人员交流和系统维护2、提供了一些问题解决方案,方便刚接触这些问题的开发人员可以借鉴套用分类:创造模式 -工厂模式,抽象工厂模式,单例模式,原型模式,Builder模式结构模式 -适配器模式,桥接模式,组合...原创 2019-11-11 18:17:02 · 145 阅读 · 0 评论
分享