![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 73
胃小
这个作者很懒,什么都没留下…
展开
-
设计模式之策略模式
策略模式是处理类与类之间关系的设计模式,如果一个行为根据不同的条件采用不同的策略,则可以使用策略模式对其进行组织;现在以会员及其折扣价格举例策略接口:public interface MemberStrategy { Double getPrice(Double price);}各个策略类:public class PrimaryMember implements MemberStrategy...原创 2018-02-27 20:59:42 · 177 阅读 · 0 评论 -
设计模式之责任链模式
责任链是将处理问题的类串联在一起,并进行顺序和逻辑的规范的设计模式,实现任务的发起者与任务的处理者之间的解耦;任务发起者不需要知道谁处理的任务,任务的处理者可以选择自己解决或者抛给下一个任务处理者以订单的审批来距离,看代码:处理者,抽象类public abstract class Handler { private Handler handler; public abstract void h...原创 2018-03-05 22:19:53 · 111 阅读 · 0 评论 -
设计模式之享元模式
享元模式是本质上是实现对象的复用的设计模式,内容相同的对象有一个就可以了,当多个场景可以复用同一个对象,即享元;Flyweight类:public class Flyweight { private String name; public String getName() { return name; } public void setName(String name) { t...原创 2018-02-25 13:34:58 · 173 阅读 · 0 评论 -
设计模式之组合模式
组合模式用来描述类于类之间的关系,类似树形框架,主干到分支,他的标准定义是:"将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。";Component类:public abstract class Component { private String name; public String getName() { return n...原创 2018-02-25 12:23:07 · 100 阅读 · 0 评论 -
设计模式之原型模式
原型模式一种克隆对象时经常使用的设计模式,结构比较简单,先看代码;原型类:public class Prototype implements Cloneable{ public Prototype clone(){ Prototype prototype = null; try { prototype = (Prototype) super.clone(); } catch (...原创 2018-02-17 19:39:03 · 114 阅读 · 0 评论 -
设计模式之桥接模式
桥接模式是一种方便解耦的设计模式,从代码上来看,他与接口模式很像,但侧重点又很不相同,接口模式是将原有的类融进新的接口的设计模式,而桥接模式,是在编写新代码时考虑接口的对接所使用的模式,前者是用来补救,后者用来做最初的设计;接口:public interface TV { void TVbrand();}接口的实现:public class Sony implements TV{ priva...原创 2018-02-19 23:05:35 · 104 阅读 · 0 评论 -
设计模式之外观模式
外观模式是一种描述类于类之间关系的模式,由一个外观类将多个类进行包装,从而达到访问包装类即访问多个类的目的,看代码普通类:public class Model { private String name; public Model(String name){ this.name = name; } public void method(){ System.out.println(n...原创 2018-02-18 17:53:33 · 99 阅读 · 0 评论 -
设计模式之代理模式
代理模式是一种处理对象与对象之间关系的模式,代理对象对委托类进行预处理,包括但不限于筛选,预处理,后处理等操作,使用时直接使用代理对象代替委托对象;代理对象和委托对象继承相同的接口,代理对象中持有委托对象;顶层接口:public interface Subject { void method();}委托类:public class Source implements Subject{ pr...原创 2018-02-18 17:11:54 · 128 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式为类与类添加一对多的依赖关系,被观察者状态发生改变时会更新观察者的状态,实现消息的同步,亦可称为发布订阅模式,观察者接口:public interface Observer { void update();}被观察者接口:public interface Watched { void add(Observer ob); void remove(Observer ob);...原创 2018-02-28 12:09:16 · 94 阅读 · 0 评论 -
设计模式之装饰者模式
装饰者模式是在不改变现有类结构的前提下,增强目标类的方法的一种设计模式;看代码:目标类的父类:public interface Father { void targetmethod();}目标类:public class Target implements Father{ @Override public void targetmethod() { System.out.printl...原创 2018-02-17 20:53:54 · 149 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式是一种将不同接口的类组合在一起使用的设计模式,或者是将原有类组合进现有接口体系的设计模式,他是处理类于类之间的关系的,打个比方,usb充电线要与插座板一起使用就需要一个插头充当适配器;适配器可以通过两种形式实现,一种是继承,一种是组合,下面对两种形式分别进行展示:继承方式:目标接口:public interface Charger { void charge();}目标类:publi...原创 2018-02-17 20:31:48 · 112 阅读 · 0 评论 -
设计模式之工厂模式
工厂模式大致可以分为三类,1)简单工厂模式,2)工厂方法模式,3)抽象工厂模式,下面逐一进行介绍:简单工厂:产品:public abstract class Product { public Product(){}}public class ItemA extends Product{ public ItemA(){ System.out.println("制造ItemA"); }...原创 2018-02-15 19:49:24 · 161 阅读 · 0 评论 -
设计模式之模板方法模式
模板方法模式用于行为的封装,模板规定了一系列方法的执行顺序,要求子类去具体实现这一系列方法,最后不同的子类具有不同的实现,但都完成了模板规定的一系列动作;下面以活期存款与定期存款的收益,简单的模拟下这个设计模式的使用;抽象模板:public abstract class TopTemplate { public void calculate(Double money){ first(...原创 2018-02-27 21:39:25 · 96 阅读 · 0 评论 -
设计模式之建造者模式
建造者是和创建对象相关的设计模式,与注重整体的工厂模式不同,建造者模式注重的是细节,生产对象的每一步都被分解并一一呈现,下面来看例子:我们仍以葡萄酒的制造做说明;首先是产品:public class Wine { private String grape; private String bottle; public String getGrape() { return grape...原创 2018-02-15 22:55:44 · 119 阅读 · 0 评论 -
设计模式之单例
趁着过年假期把java设计模式进行一下总结,首先从单例开始饿汉式:public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if (null == instance){ ...原创 2018-02-14 23:00:42 · 120 阅读 · 0 评论 -
设计模式之迭代子模式
迭代子模式是包装聚合类的迭代器的,用于集合遍历时进行过滤等操作,亦可自定义特殊的迭代方法;迭代器的代码:聚合抽象类及其实现类:public abstract class Aggregate { public abstract Iterator createIterator();}public class ConcreteAggregate extends Aggregate{ priva...原创 2018-03-06 08:57:43 · 152 阅读 · 0 评论