![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 92
LoungerM
这个作者很懒,什么都没留下…
展开
-
设计模式之结构模式---外观模式
外观模式(Facade)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。(摘自菜鸟教程)。这种模式代码实现起来很简单,我们就来举一个电脑启动和关闭的例子吧。我们在启动电脑的时候,只需要按一个按钮,但是电脑本身却是干了很多事情,例如它会启动CPU,启动内存,启动硬盘等。反映到代码中就是下面这样:首先...原创 2020-01-22 10:45:52 · 109 阅读 · 0 评论 -
设计模式之结构模式---代理模式
代理模式(Proxy)代理模式其实从字面上来说很好理解。实际生活中,形形色色的明星都会有自己的经纪人吧。这个经纪人其实就是明星的代理。他先负责跟投资方谈谈,然后明星才开始接拍电影,唱歌,跳舞啥的。我们的代码示例也以这个例子为业务基础。回到理论层面,代理模式就是多一个代理类出来,替原对象进行一些操作。代理模式又可以分为静态代理模式和动态代理模式,动态代理模式又分为JDK动态代理和cglib动态代理...原创 2020-01-20 10:22:15 · 244 阅读 · 0 评论 -
设计模式之结构模式---装饰者模式
装饰模式(Decorator)装饰模式就是给一个对象增加一些新的功能,而且是动态的,此时就要要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。就像我们花了几百万买了房子,然后每个人都会根据自己的想法来给自己装修房子而不是开发商统一给我们一套已经装修的房子,还有就是去超市买东西,超市会根据我们买的东西,然后出具一个样式统一且详情不一样的账单。接着我们来举例超市买东西吧,大家会经...原创 2020-01-13 11:45:32 · 133 阅读 · 0 评论 -
设计模式之结构模式---适配器模式
适配器模式(Adapter)适配器模式将某个类的接口转换成用户期望的另一个接口行为,目的是为了适应由于接口与接口之间不匹配所带来的类的兼容性问题。适配器模式主要分为三大类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先我们来看第一种,类的适配器模式;首先我们先创建一个类:public class OperationA { public void operationA(){...原创 2020-01-06 11:08:17 · 117 阅读 · 0 评论 -
设计模式之创建型模式---原型模式模式
原型模式(Prototype)原型模式:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。原型模式主要涉及两个概念,浅拷贝与深拷贝。浅拷贝:是指将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。深拷贝:是指将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了完全彻底的复制,而浅复制不彻底。说...原创 2019-12-30 16:02:10 · 102 阅读 · 0 评论 -
设计模式之创建型模式---建造者模式
建造者模式(Builder)构建者模式和工厂模式很类似,区别在于构建者模式是一种个性化产品的创建,通过组装零配件而创建一个新产品。而工厂模式是一种标准化的产品创建,不关心产品的构建过程,只关心什么产品是由什么工厂产生的。下面我们来举例汽车的购买,每款汽车都需要车轮,发动机。1.我们首先写一个车轮和发动机的接口车轮public interface Wheel { public St...原创 2019-12-23 00:04:10 · 118 阅读 · 0 评论 -
设计模式之创建型模式---单例模式
单例模式(Singleton)单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全...原创 2019-12-22 11:53:42 · 142 阅读 · 0 评论 -
设计模式之创建型模式---抽象工厂模式
抽象工厂模式(Abstract Factory)上文讲到的工厂模式会有一个模式本身带有的客观问题,即所有实例的创建都必须依赖一个工厂类。这样在某种程度上是有背设计原则中的开闭原则。当业务需求发生改变时,如果想要拓展实例的创建,就必须对工厂类进行修改。所以,抽象工厂模式就应用而生了,通过创建多个工厂类,来提高程序的拓展性。这次我们来举例“鸟”,鸟都有飞行的行为,我们先创建飞行接口:public...原创 2019-12-07 18:34:31 · 131 阅读 · 0 评论 -
设计模式之创建型模式---工厂模式
工厂模式(Factory Method)工厂模式分为三种:1、普通工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:public interface Sender {public void Send(); }其次,创建实现类:public class MailSender ...原创 2019-12-07 17:55:54 · 107 阅读 · 0 评论