设计模式
lss0555
关注领域:JavaEE,Android,JavaScript
展开
-
Java之链式调用
前言 链式调用的好处在于一方面可以尽可能的少去类型转换的判定,而且大大增强了代码的阅读性,也就是更符合人类阅读的习惯,同时也减少了代码量。 普通方法: 1:维护性强 2:对方法的返回类型无要求 3:对程序员的业务要求适中 链式方法: 1:编程性强 2:可读性强 3:代码简洁 4:对程序员的业务...原创 2018-08-16 11:46:46 · 3032 阅读 · 0 评论 -
Java之Builder模式
前言Builder模式是一种一步一步创建一个复杂对象的设计模式,这种设计模式的精髓就主要有两点:其一,用户使用简单,并且可以在不需要知道内部构建细节的情况下,就可以构建出复杂的对象模型;其二,对于设计者来说,这是一个解耦的过程,这种设计模式可以将构建的过程和具体的表示分离开来。Builder模式的使用场景相同的方法,不同的执行顺序,产生不同的时间结果多个部件或零件,都可以装配到...原创 2018-08-16 16:34:32 · 1420 阅读 · 0 评论 -
Java之工厂模式
应用场景创建新对象最简单的办法是使用new关键字和具体类。只有在某些场合下,创建和维护对象工厂所带来的额外复杂性才是物有所值。工厂模式工厂模式分为简单工厂、工厂方法模式和抽象工厂模式。 这三种模式从上到下逐步抽象,并且更具一般性。还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类。下面是使用工厂模式的两种情况: 1.在编码时不能预见需要创建哪种类的实例。 ...原创 2018-08-19 22:30:37 · 170 阅读 · 0 评论 -
Java之单实例模式,懒汉和锁校验
特点单例模式只能有一个实例。单例类必须创建自己的唯一实例。单例类必须向其他对象提供这一实例。单例模式与静态类单例可以继承和被继承,方法可以被override,而静态方法不可以。静态方法中产生的对象会在执行后被释放,进而被GC清理,不会一直存在于内存中。静态类会在第一次运行时初始化,单例模式可以有其他的选择,即可以延迟加载。基于2, 3条,由于单例对象往往存在于DAO层(...原创 2018-08-17 09:45:49 · 208 阅读 · 0 评论 -
Java之代理模式
一. 前言在现实生活中,一个歌手一般都有一个助理,帮她处理一些日常的事务,但是如果是唱歌的话还是得由歌手主角去唱,这样歌手在生活中就避免了很多事情要处理,避免自己受到打扰,可以专心自己的唱歌。这种情况就类似于一种代理模式,下面我们就用代理模式来实现这个过程。二.介绍代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对...原创 2018-09-04 16:47:25 · 100 阅读 · 0 评论 -
Java之责任链模式
一.前言在公司一般的请假流程中,1天或者以下由组长批准,1-3天的由组长,经理审批,如果是3-7天的由组长,经理,部门领导审批,如果大于7天的则有上级批准。这种模式在设计模式里面的责任链模式可以得到很好的运用,下面用这个该模式实现体会一下责任链模式的好处。二.定义定义:将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能处理则处理...原创 2018-09-06 17:02:51 · 296 阅读 · 0 评论 -
java之装饰模式
一.前言装饰模式(Decorate)也叫包装模式(Wrapper)装饰模式降低系统的耦合度,可以动态的增加或删除对象的责任,并使得需要装饰的具体构建类和具体装饰类可以独立变化,以便增加新的具体构建类和具体装饰类,创造出不同行为的组合,得到功能更加强大的对象。在Mybatis中Cache和CachingExecutor接口的实现类也使用了装饰者计模式。但是也有缺点:产生很多小对象占据内存,影响...原创 2019-01-29 11:26:25 · 169 阅读 · 0 评论