
java设计模式
文章平均质量分 84
洞玄之
不积跬步,无以至千里
展开
-
设计模式—(6)代理模式
模式定义模式类图https://www.cnblogs.com/cenyu/p/6289209.html https://blog.youkuaiyun.com/goskalrie/article/details/52458773https://www.cnblogs.com/whoislcj/p/5693980.html原创 2018-06-30 10:36:05 · 135 阅读 · 0 评论 -
Java 动态代理类
一、什么是代理?代理是一种常用的设计模式,其目的就是为真实对象提供一个代理对象以控制对真实对象的访问。代理类负责为委托类(被代理类、真实类)预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护委托类...原创 2018-07-24 23:42:58 · 19180 阅读 · 6 评论 -
设计模式—(1)策略模式
一、策略模式定义定义:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。二、UML类图策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来...翻译 2018-03-19 17:17:05 · 220 阅读 · 0 评论 -
设计模式—(2)观察者模式
一、模式定义 定义了对象之间的一对多依赖,当某一个主题对象状态变化时,它的所有依赖者都会收到通知并自动更新。主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者。 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Depen...翻译 2018-03-20 15:12:38 · 159 阅读 · 0 评论 -
设计模式—(3)装饰者模式
一、模式定义动态的将责任附加到对象上,在扩展功能上,装饰者提供了比继承更有弹性的替代方案。(维护了开放封闭原则:对扩展开放,对修改封闭)将装饰者和具体组件组合,就是在加入新的行为。组合和委托可以在运行时动态的加上新的行为。而继承虽然也属于扩展形式之一,但是非弹性设计,而且依赖继承,类的行为只能在编译时静态决定。问题描述设计不同种类的饮料,饮料可以添加配料,比如可以添加牛奶,并且...原创 2018-03-20 17:06:03 · 162 阅读 · 0 评论 -
设计模式—(4)简单工厂、工厂模式、抽象工厂模式
(4-1) 简单工厂模式定义简单工厂不是设计模式,更像是一种编程习惯。它把实例化的操作单独放到一个类中,这个类就成为简单工厂类,让简单工厂类来决定应该用哪个子类来实例化。这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。因为客户类往往有多个,如果不使用简单工厂,所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,例如增加子类,那么所有的客户...原创 2018-03-21 11:54:13 · 287 阅读 · 0 评论 -
设计模式—(5)单例模式
模式定义确保一个类只有一个实例,并提供了一个全局访问点。单例应用场景:有一些对象我们只需要一个,比如:线程池、缓存(cache)、对话框、处理偏好设置和注册表的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。这些对象只能有一个实例,如果制造出多个实例,就会导致许多问题,比如:程序的行为异常、资源使用过量、或者是不一致的结果。模式类图使用一个私有构造器、一个私有静态变量以及一...原创 2018-03-21 17:13:50 · 157 阅读 · 0 评论