设计模式
Java设计模式学习总结。
若甘年后
疯狂的程序员
展开
-
设计模式:模板方法模式
1:概念和背景 模板方法(Template Method)模式定义了一个算法框架,并通过继承的方式将算法的实现延迟到子类中,使得子类可以在不改变算法框架及其流程的前提下重新定义该算法在某些特定环节的实现,是一种类行为型模式。 该模式在抽象类中定义了算法的结构并实现了公共部分算法,在子类中实现可变的部分并根据不同的业务需求实现不同的扩展。模板方法模式的优点在于其在父类(抽象类)中定义了算法的框架以保障算法的稳定性,同时在父类中实现了算法公共部分的方法来保障代码的复用;将部分...原创 2020-06-12 16:12:04 · 155 阅读 · 0 评论 -
设计模式:享元模式
1:享元模式概念享元模式:主要通过对象的复用来减少对象创建的次数和数量,以减少系统内存的使用和降低系统的负载。享元模式属于结构型模式,在系统需要一个对象时享元模式首先在系统中查找并尝试重用现有的对象,如果未找到匹配的对象,则创建新对象并将其缓存在系统中以便下次使用。享元模式主要用于避免在有大量对象时频繁创建和销毁对象造成系统资源的浪费,把其中共同的部分抽象出来,如果有相同的业务请求,则直接返回内存中已有的对象,避免重新创建。简单一点的说法:享元模式就是实现“对象池”,让对象共享使用,避免内存中频繁创原创 2020-06-12 14:03:40 · 216 阅读 · 0 评论 -
设计模式:门面模式
背景门面模式又叫外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。涉及角色简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。这个模式中,设计到3个角色。门面角色:外观模式的核心。它被客户角色调用,它熟悉子系统的功能。内部根据客户角色的需求预定了几种功能的组合。 子系统角色:实现了子系统的功能。它对客户角.原创 2020-06-11 22:54:57 · 393 阅读 · 0 评论 -
设计模式:代理模式
背景和概念代理模式指为对象提供一种通过代理的方式来访问并控制该对象行为的方法。在客户端不适合或者不能够直接引用一个对象时,可以通过该对象的代理对象来实现对该对象的访问,可以将该代理对象理解为客户端和目标对象之间的中介者。起到对目标对象增强的目的,有时候也是为了保护目标对象。在代理模式下有两种角色,一种是被代理者,一种是代理(Proxy),在被代理者需要做一项工作时,不用自己做,而是交给代理做。代理模式分类静态代理和动态代理,静态代理需要程序员自己实现,动态代理目前有基于JDK和CgLib实现两种方式原创 2020-06-09 21:49:39 · 156 阅读 · 0 评论 -
设计模式:原型模式
概念原型模式指的就是通过已有的对象创建新对象,可以通过调用已有对象的clone或者其他手段实现。原型模式属于创建型设计模式,它以当前对象为原型(蓝本)来创建另一个新的对象,而无须知道创建的细节。原型模式在Java中通常使用Clone技术实现,在JavaScript中通常使用对象的原型属性实现。原型模式的Java实现很简单,只需原型类实现Cloneable接口并覆写clone方法即可。Java中的复制分为浅复制和深复制。浅复制:Java中的浅复制是通过实现Cloneable接口并覆写其Clon原创 2020-06-09 15:54:55 · 129 阅读 · 0 评论 -
设计模式:建造者模式
背景介绍建造者模式(Builder Pattern)又叫构建者模式就是使用多个简单的对象创建一个复杂的对象,用于将一个复杂的构建与其表示分离,使得同样的构建过程可以创建不同的表示,然后通过一个Builder类(该Builder类是独立于其他对象的)创建最终的对象。建造者模式主要用于解决软件系统中复杂对象的创建问题,比如有些复杂对象的创建需要通过各部分的子对象用一定的算法构成,在需求变化时这些复杂对象将面临很大的改变,这十分不利于系统的稳定。但是,使用建造者模式能将它们各部分的算法包装起来,在需求变化后只原创 2020-06-09 15:16:24 · 190 阅读 · 0 评论 -
设计模式:设计模式的七大原则
背景 设计模式是人们经过长期编程经验总结出来的一种编程思想。随着软件工程的不断演进,针对不同的需求,新的设计模式不断被提出(比如大数据领域中这些年不断被大家认可的数据分片思想),但设计模式的原则不会变。基于设计模式的原则,我们可以使用已有的设计模式,也可以根据产品或项目的开发需求在现有的设计模式基础上组合、改造或重新设计自身的设计模式。设计模式有7个原则:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成/聚合复用原则、迪米特法则,接下来对这些原则一一进行讲解。一:...原创 2020-06-08 12:38:07 · 692 阅读 · 0 评论 -
设计模式:单利模式
有时候我们创建一个对象是属于"工具型"对象,也就是只使用该对象的方法不改变改对象的一些属性值(个人理解),这类对象在每次使用的时候就没有必要每次都创建一个对象(避免了内存空间的浪费),这个时候就可以使用单利模式. 单利模式的目的就是保证一个类的对象在内存中只创建一次就可以供以后每次使用.并且只能创建一次,也就是说内存中该类的对象至始至终都只存在一个.单利模式属于23种设计模式之一,...原创 2018-03-14 15:26:34 · 337 阅读 · 0 评论