php,java实现设计模式
总结设计模式的类图,使用php,java实现设计模式的代码,便于理解和记忆
任鹏renpeng
这个作者很懒,什么都没留下…
展开
-
php、java实现桥接模式
该模式主要目的在于解耦,将模块的粒度分隔的更细,便于需求的更改类图 java实现public interface Implementor { public void doSomething(); public void doAnything(); }public class RealImplementor implements Implementor { @Override原创 2017-05-19 09:23:02 · 903 阅读 · 0 评论 -
php、java 实现享元模式
避免无限制的创建对象,建立一个对象池,将可以共享的对象存起来复用。类图 java实现public abstract class Flyweight { private String intrinsic; protected final String extrinsic; public Flyweight(String extrinsic){ this.extrin原创 2017-05-10 13:18:37 · 711 阅读 · 0 评论 -
php、java实现状态模式
个人理解:根据事物状态的不同,导致其行为的不同,切换状态,相应的行为也会发生变化类图 php实现abstract class Status { protected $context; public function setContext($context) { $this->context = $context; } public abstrac原创 2017-05-04 10:01:39 · 646 阅读 · 0 评论 -
php,java实现访问者模式
定义一个类,使用它对数据类进行访问,可以减少对数据类的污染,并且可以随意定制数据展示和计算等。类图 java实现: 数据源抽象类public abstract class Element { public abstract void doSomething(); public abstract void accept(IVisitor visitor); } 数据源实现类public原创 2017-04-11 09:59:49 · 471 阅读 · 0 评论 -
php,java实现备忘录模式
适用于想要回复某个时间点的数据,类似于数据库的恢复。类图: java实现: 原始类public class Originator { private String status = ""; public void setStatus(String status){ this.status = status; } public String getStat原创 2017-04-10 08:56:34 · 489 阅读 · 0 评论 -
php,java实现门面(外观)模式
外观模式,就是将负复杂的业务路基统一到一个类中,该类提供了一个简易的访问接口,只需要调用该接口,就可以完成复杂的逻辑。类图: java实现public class BusinessClass1 { public void method1(){ } }public class BusinessClass2 { public void method2(){ } } public原创 2017-04-07 09:14:34 · 574 阅读 · 0 评论 -
php,java实现观察者模式
类图: java实现 被观察者public abstract class Observable extends java.util.Observable{ private ArrayList<Observer> observerArrayList = new ArrayList<>(); public void addObserver(Observer observer){原创 2017-04-05 09:33:30 · 671 阅读 · 0 评论 -
php,java实现组合模式
组合模式强调整体与部分的关系,如数据结构中的树结构等类图: java实现public abstract class AbsPart { public abstract void getInfo(); }public class Leaf extends AbsPart { @Override public void getInfo() { } }public class原创 2017-04-04 10:11:18 · 1323 阅读 · 0 评论 -
php,java实现适配器模式
类适配器 将现有的已经使用的类型转变成需要得到的类型类图: java实现 目标接口类型public interface Target { public void doSomething(); }正常实现类public class ConcreteTarget implements Target { @Override public void doSomething() {原创 2017-04-04 09:46:10 · 789 阅读 · 0 评论 -
php,java实现策略模式
将算法抽象封装起来,达到可以随时切换算法,较少逻辑判断的目的类图: java实现public interface IStrategy { public void doSomething(); }public class ConcreteStrategy implements IStrategy { @Override public void doSomething() {原创 2017-03-30 09:02:42 · 747 阅读 · 0 评论 -
php,java实现装饰者模式
当需要为现有的类增加新的功能,或则需要包装现有类时,适合使用该模式类图: java实现 抽象产品类public abstract class Subject { public abstract void doSomething(); }产品类public class ConcreteSubject extends Subject { @Override public void原创 2017-03-29 21:29:58 · 850 阅读 · 0 评论 -
php,java实现责任链模式
当我们的请求根据不同的情况需要不同的处理者处理的时候,可以使用该模式,将多个处理者和请求者隔离,只暴露一个处理者,当满足处理条件时处理,不满足时将请求传递,类似于Android的事件分发机制。类图: java实现public abstract class AbsHandle { private AbsHandle absHandle; public final void handleM原创 2017-03-27 09:29:43 · 540 阅读 · 0 评论 -
php,java实现命令模式
将调用者和实际实现者分开,减少耦合,通过中间类来关联两者类图如下: java实现 逻辑抽象类public abstract class AbsReceiver { public abstract void doSomething(); } 逻辑实现类public class RealReceiver1 extends AbsReceiver { @Override publi原创 2017-03-26 11:04:09 · 687 阅读 · 0 评论 -
php,java实现中介者模式
当多个对象之间产生网状的关系时,适合中介者模式,把多对多的依赖转化为只对中介者的依赖类图 java实现中介者抽象类public abstract class AbsMediation { private Colleague1 colleague1; private Colleague2 colleague2; public void setColleague1(Colleague原创 2017-03-25 15:47:46 · 522 阅读 · 0 评论 -
php,java实现原型模式
当我们要使用或者批量使用一个对象,他们完全相同,并且该对象的初始化过程十分复杂,可以使用该模式克隆出对个对象。类图 java代码实现:public class Subject implements Cloneable{ @Override public Subject clone(){ Subject subject = null; subject =原创 2017-03-24 09:47:59 · 327 阅读 · 0 评论 -
php,java实现代理模式
普通代理模式类似于装饰者模式,将真实的实现逻辑的对象包装起来,外界通过访问其代理来调用真是的逻辑代码类图 java代码实现public interface Subject { public void request(); }public class RealSubject implements Subject { @Override public void request()原创 2017-03-23 11:46:22 · 304 阅读 · 0 评论 -
php,java实现建造者模式
很容易将建造者模式和工厂方法模式混淆,他们的区别是工厂方法模式侧重生产出相同的对象实例,而建造者模式强调的是对同一个对象实例的生产,不同的生产工艺(方法的执行顺序和对属性的赋值)将产生不同效果的对象类图 java实现产品类public class Product { public void setPart1(){ } public void setPart2(){ } }建原创 2017-03-21 09:54:42 · 292 阅读 · 0 评论 -
php,java实现模板方法模式
场景:当有很多种类的操作时,并且每种操作都有h很多小的步骤,但是他们的总体算法逻辑相同,这种情况适合模板方法模式类图 java实现 模板方法抽象类public abstract class AbstractModule { public final void moduleFanction(){ step1(); step2(); } prote原创 2017-03-20 08:31:55 · 400 阅读 · 0 评论 -
php,java实现抽象工厂模式
概念理解抽象工厂模式:生产出不同业务品种的不同业务分类,强调的是每个不同品种下的分类,而他的生产类中是按照业务分类来区别的,就像《设计模式之禅》举的例子,有奔驰车和宝马车,这个车强调的就是业务品种,要生产车门(车门就是业务分类),但是车门分为左侧车门个右侧车门。估计看到这个定义会不太理解,但通过阅读代码在回头看,就会很好理解。类图代码实现1.java 产品A抽象类public abstract c原创 2017-03-19 09:48:01 · 279 阅读 · 0 评论 -
php、java实现工厂方法模式
java实现产品抽象类public abstract class Product { public void method1(){} public abstract void method2(); }产品实现类public class CreateProduct1 extends Product { @Override public void method2() {原创 2017-03-16 09:37:31 · 269 阅读 · 0 评论 -
php、java实现单例模式
一、java实现的三种方式方式一public class SingleInstance { private static final SingleInstance instance = new SingleInstance(); private SingleInstance(){} public SingleInstance getInstance(){ retur原创 2017-03-13 20:01:54 · 509 阅读 · 0 评论