设计模式
文章平均质量分 67
maove
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
责任链模式
定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些处理请求的对象连成一条链,并沿着这条链传递该请求,直到有对象处理它。简单的说就是为请求创建一个接收此请求对象的链。 责任链模式是行为型设计模式。类图:Handler:抽象的请求处理者,持有一个后继处理者。ConcreteHandler:具体的请求处理者,在这里个类里面,负责它职责范围内的请求处理,如果不处理...原创 2019-04-29 18:23:25 · 1227 阅读 · 0 评论 -
适配器模式
定义:将一个类的接口转换为客户期望的另一个接口,使原本接口不兼容的两个类可以一起工作。适配器模式是结构型设计模式,通常,我们在设计和编写新项目的时候不需要考虑使用这种设计模式,它更多的是用在后期项目的维护上,是一种“亡羊补牢”的手段。比如说我们想要使用一个已经存在的类,但是它的方法和需求不匹配的时候就可以使用适配器模式,这种不匹配很可能是前期设计的缺陷。适配器模式可以分为类适配器和对象适配器,...原创 2019-01-25 17:07:16 · 337 阅读 · 0 评论 -
抽象工厂模式
定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口。抽象工厂是创建型设计模式,它强调了一系列相关产品对象(属于同一个产品族)的创建过程,它和工厂方法模式的侧重点不同,工厂方法模式更加侧重于同一产品等级,而抽象工厂模式侧重的是同一产品族。简单说就是一个工厂中生产的一系列对象都是同一个产品族的。还是用冰箱来举例,美的生产的产品有美的冰箱、美的空调、美的电风扇。首先创建三个接口://空...原创 2019-01-06 20:10:48 · 12726 阅读 · 8 评论 -
单例模式
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例再众多的设计模式中应该算是运用最频繁的了,通过定义我们指导,单例就是在整个系统中单例类只有一个对象。单例模式的写法很多,下面来学习下他们。懒汉式public class LazySingleton { private static LazySingleton instance; //1 private LazySingle...原创 2019-01-01 22:09:27 · 430 阅读 · 0 评论 -
工厂方法模式
定义:定义一个创建对象的接口,但让实现这个接口的子类来决定实例化哪个类,工厂方法让类的实例化推迟到子类进行。工厂方法模式是一种创建性设计模式,工厂方法模式相比于抽象工厂它更侧重于产品等级,实现同一个抽象工厂接口的所有子类创建的对象通常都是同一个产品等级的。为了更好的学习工厂方法模式先来了解下产品等级和产品族,相同的产品等级就是相同的产品,像美的冰箱、格力冰箱、海尔冰箱,它们都是冰箱,它们的产品等...原创 2019-01-04 21:20:41 · 2323 阅读 · 0 评论 -
享元模式
定义:使用共享对象有效地支持大量细粒度的对象。享元模式是结构性结构性设计模式的一种,运用共享技术来减少对象的创建数量,从而提升系统性能。享元模式主要有三个角色:Flyweight:抽象享元角色。ConcreteFlyweight:具体享元。FlyweightFactory:享元工厂。享元工厂内部维护了一个对象池,每次获取对象都先从池中获取,获取不到再创建,并将对象保存在在池中。享元对象...原创 2019-01-04 16:30:42 · 387 阅读 · 0 评论 -
设计模式六大原则
一、开闭原则定义:一个软件模块如类、模块和函数应该对扩展开放,对修改关闭。开闭原则强调了用抽象构建框架、用实现扩展细节。通常为了满足开闭原则,我们应该尽可能的面向抽象编程。优点:提高软件系统的可复用性及可维护性。**具体例子:**现在我们有一个课程接口,它有很多具体课程的实现类,我们可以通过具体的实现类来获取具体课程价格。public interface Course { int ge...原创 2018-12-28 17:58:36 · 855 阅读 · 0 评论