设计模式
yan_pengfei
这个作者很懒,什么都没留下…
展开
-
设计模式之委派模式和策略模式
委派模式delegate pattern:负责任务的调度和分配应用场景当你要实现表现层和业务层之间的松耦合的时候。 当你想要编排多个服务之间的调用的时候。 当你想要再封装一层服务查找和调用时候示例代码public interface IEmployee { public void doing(String command);}public class EmployeeA implements IEmployee{ @Override public voi原创 2021-03-21 16:19:29 · 325 阅读 · 0 评论 -
设计模式之单例模式
单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并 提供一个全局访问点。单例模式是创建型模式饿汉式单例是在类加载的时候就立即初始化,并且创建单例对象。绝对线程安全,在线程还没出现以前就是实例化了,不可能存在访问安全问题。 示例代码//饿汉式的单例模式public class HugrySingleton { //一个私有的构造方法 private HugrySingleton(){}; //立刻初始化 priv原创 2021-03-20 15:04:22 · 128 阅读 · 0 评论 -
设计模式之工厂方法模式和抽象工厂模式
定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把实例化推迟到子类。来个类图示例代码部分public abstract class Pizza{ String name; String dough; String sauce; ArrayList topings= new ArrayList(); ...原创 2019-08-22 14:36:29 · 286 阅读 · 1 评论 -
设计模式之模板方法模式
定义:在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。来个类图:看一个具体的例子public abstact class CaffeineBeverage{ //不想让子类覆盖 final void prepareRecipe(){ boilWater(); ...原创 2019-08-16 15:04:30 · 118 阅读 · 0 评论 -
设计模式之代理模式与动态代理
定义:为另一个对象提供一个替身或占位符以控制这个对象的访问。使用代理i模式创建代表对象,让代表对象控制某对象的访问,被代理对象可以是远程的对象,创建开销大的对象或需要安全控制的对象。首先看个类图:看一个代理模式的经典用法远程代理制作远程服务的步骤:制作远程接口,远程接口定义出可以让客户远程调用的方法。客户将用它作为服务的类型,stub和实际的服务都实现这个接口。 制作远程...原创 2019-08-21 14:52:05 · 170 阅读 · 0 评论 -
设计模式之适配器模式与外观模式
定义:将一个类的接口,转换成客户期望的另一个接口。当需要用一个现有的类而其接口并不符合你的需要时就用适配器。首先来个类图:这个类图够简单但是充满了良好的OO设计原则,使用对象组合,以修改的接口包装被适配者:被适配者的任何子类都可以搭配着适配器使用。public interface Duck{ public void fly(); public void qua...原创 2019-08-15 16:59:59 · 170 阅读 · 0 评论 -
设计模式之命令模式
定义:将请求封装成对象,以便用不同的请求,队列或者日志来参数化其它对象。命令模式也可以支持撤销操作。仔细看这个定义一个命令对象通过在特定的接受者上绑定一组动作来封装一个请求要达到这一点,命令对象需要将动作和接受者包进对象中。首先来个类图再来看一个具体的例子public interface Command{ //实现命令接口命令对象只有一个方法 public vo...原创 2019-08-15 15:11:21 · 111 阅读 · 0 评论 -
设计模式之状态模式
定义:允许对象在内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式将状态封装成独立的类,并将动作委托到代表当前状态的对象。看个类图:来一个具体的例子:public interface State{ void insertQuarter(): void ejectQuarter(); void turnCrank();...原创 2019-08-20 15:48:30 · 154 阅读 · 0 评论 -
设计模式之迭代器与组合模式
迭代器模式定义:提供一种方法顺序访问一个聚合对象中的各个元素。而又不暴露其内部的表示来个类图再来看一个具体的例子public interface Menu{ public Iterator createIterator();}public class PancakeHouseMenu implments Menu{ ArrayList...原创 2019-08-19 17:48:54 · 208 阅读 · 0 评论 -
设计模式之装饰者模式
定义:动态地将责任附加到对象上,若要拓展功能,装饰者提供了比继承更有弹性的替代方案。首先看个类图再来一个具体的例子完全模仿即可public abstact class Beverage{ //这是我们的饮料组件父类 String description = "Unknow Beverage"; public String getDescrip...原创 2019-08-13 17:05:55 · 90 阅读 · 0 评论 -
设计模式之观察者模式
定义:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,将自动更新。首先看书上的一个需求,建立一个气象观测站应用。利用weatherData对象取得数据,并更新三个布告板。首先看个观察者模式的类图public interface Subject{ public void registerObserver(Observer o);//该观察...原创 2019-08-08 18:17:25 · 119 阅读 · 0 评论