设计模式
jx_ming
这个作者很懒,什么都没留下…
展开
-
单例模式
什么是单例模式?保证在一个 JVM 中,一个类只能存在一个实例,保证对象的唯一性。单例应用场景servlet、spring(默认单例)、struts2、springMVC、连接池、线程池、枚举、常量为什么要设计成单例?单例的优缺点?优点:在单例模式中,活动单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。这样就防止其他对象对自己的实例化,确保所有的对象都访问一个实例。...原创 2019-07-09 11:28:51 · 54 阅读 · 0 评论 -
原型模式
什么是原型模式原型模式是一个创建型的模式。原型表明了该模式应该有一个样板实例,用户从这个样板对象中复制一个内部属性一致的对象,这个过程也就是我们称的“克隆”。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者构造耗时的实例,因为这种情况下,复制一个已经存在的实例可使程序运行更高效。原型模式应用场景类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等,...原创 2019-07-09 15:02:54 · 73 阅读 · 0 评论 -
代理模式
代理模式通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用之前或调用后进行代理。可以隐藏真实角色。代理模式应用场景SpringAop、事务原理、日志打印、权限控制、远程调用代理分类静态代理(静态定义代理类)动态代理(动态生成代理类):JDK动态代理、Cglib动态代理什么是静态代理?由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存...原创 2019-07-09 18:12:35 · 78 阅读 · 0 评论 -
外观模式
什么是外观模式?外观模式(Facade Pattern)也叫门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型设计模式,它向现有的系统添加了一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。代码用户注册完成之后,需要调用短信接口、邮件接口、微信推送接口。短信接口pub...原创 2019-07-10 17:14:38 · 59 阅读 · 0 评论 -
模板方法模式
什么是模板方法模式?模板方法模式定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。核心处理某个流程的代码已经具备,但是其中某个节点的代码暂时不能确定。因此,我们采用模板方法模式,将这个节点的代码实现转移给子类完成。即:处理步骤在父类中定义好,具体的实现延迟到子类中定义。说白了,就是将一些相同操作的代码,封装成一个算...原创 2019-07-10 17:34:43 · 70 阅读 · 0 评论 -
建造者模式
什么是建造者模式?建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。工厂模式提供的是创建单个类的模式,而建造者则是将各种产品集中起来进行管理,用来创建复合对象,所谓符合对象就是指某个类具有不同的属性。建造者模式通常包括下面几个角色Builder:给出一个抽象接口,以规范产品对象的各个组成部分的建造。这个接口规定要是实现复杂对象的哪些部分的创建,并不涉...原创 2019-07-10 18:00:38 · 109 阅读 · 0 评论 -
策略模式
什么是策略模式?定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。使用场景策略模式针对一组算法或逻辑,将每一个算法或逻辑封装到具有公共接口的独立的类中,从而使得他们之间可以相互替换。策略模式使得算法或逻辑可以在不影响到客户端的情况下发生变化。策略模式体现了 OCP(Open Closed Principle) 开闭原则,即对拓...原创 2019-07-11 10:43:25 · 90 阅读 · 0 评论 -
工厂模式
工厂模式实现了创建者和调用者分离。工厂模式分为简单工厂、工厂方法、抽象工厂模式。工厂模式的好处工厂模式是用工厂方法代替 new 操作的一种模式。利用工厂模式可以降低程序的耦合性,为后期的维护修改提供了很大的便利。将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。简单工厂模式简单工厂模式相当于是一个工厂中有各种产品,创建在一个类中,客户无需指定具体产品的名称,只需要指定...原创 2019-07-11 17:48:25 · 105 阅读 · 0 评论