
java设计模式
文章平均质量分 75
qq_37211608
这个作者很懒,什么都没留下…
展开
-
java工厂设计模式(Factory)
工厂模式:一、简单工厂模式(静态工厂):就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建产品:interface Car{ void drive();}class Jili implements Car{ public Jili(){ System.out.println("生产一台吉利车"); } public void drive...原创 2018-04-25 17:32:03 · 149 阅读 · 0 评论 -
中介者模式(Mediator)
中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。/** * 中介接口 */public interface Mediator { void creat...原创 2018-04-27 10:20:48 · 174 阅读 · 0 评论 -
访问者模式(Visitor)
定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。/** * 访问者接口 */public interface Visitor { void visit(MySubject1 ms1); void visit(MySubject2 ms2);}/** * 访问者类 */public class MyVisit...转载 2018-04-27 09:33:15 · 130 阅读 · 0 评论 -
观察者模式(Observer)
当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系/** * 观察者接口 */public interface Observer { public void update();}/** * 观察者1 */public class Observer1 implements Observer { @Override p...转载 2018-04-27 09:03:42 · 113 阅读 · 0 评论 -
适配器模式(Adapter)
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。一、类的适配器模式public class Source { public void method1() { System.out.println("this is original method!"); }}public interface Target...原创 2018-04-26 17:39:53 · 111 阅读 · 0 评论 -
迭代子模式(Iterator)
迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。聚集和JAVA聚集 多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。聚集依赖于聚集结构的抽象化,具有复杂化和多样性。数组就是最基本的聚集,也是其他的JAVA聚集对象的设计基础...原创 2018-04-26 17:08:48 · 108 阅读 · 0 评论 -
策略设计模式(strategy)
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数/** * 统一接口 */public interface ICalculator { public int calculate(String exp);}...原创 2018-04-26 16:49:33 · 133 阅读 · 0 评论 -
建造者模式(Builder)
工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。一个Sender接口,两个实现类MailSender和SmsSender。最后,建造者类如下:/** * 产品接口 */public interface Sender { publi...原创 2018-04-26 16:44:19 · 134 阅读 · 0 评论 -
java装饰模式(Decorator)
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:public interface Sourceable { void method();}public class Decorato...原创 2018-04-26 15:13:29 · 244 阅读 · 0 评论 -
java代理设计模式(Proxy)
一:静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类优点:可以做到在不修改目标对象的功能前提下,对目标功能扩展.缺点:因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标对象与代理对象都要维护/** * 接口 */interface IUserDao { void save();}...原创 2018-04-26 10:40:09 · 167 阅读 · 0 评论 -
队列(Queue)
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。阻塞队列提供了四种处理方法:方法\处理方式抛出异常返回特殊值一直阻塞超时退出插入方法add(e)offer(e)put(e)offer(e,time,unit)移除方法remove()poll()take()p...原创 2018-04-27 14:41:32 · 270 阅读 · 0 评论