把书读薄 | 《设计模式之美》设计模式与范式(结构型-享元模式)(下)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-享元模式)(下)

运行结果输出如下:使用享元模式只创建了4个卡牌对象,提提内部状态和外部状态的概念:内部状态:固定不变可共享 的部分,存储在享元对象内部,比如这里的花色;外部状态:可变不可共享 的部分,一般由客户端传入享元对象内部,比如这里的大小;当然ÿ...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-享元模式)(上)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-享元模式)(上)

0x0、引言🤡提测了等改BUG,摸鱼时啃下《设计模式之美》,本文对应设计模式与范式:结构型(54-55),享元模式 (Flyweight Pattern),结构型设计模式最后一个~很好理解 → 享元,被共享的单元意图 → 节省内存,复用不可变对象换句话说 → 找出相似对象间的共有特征...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-组合模式)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-组合模式)

0x1、定义将对象组合成 树形结构 以表示整个部分的层次结构,让用户可以 统一对待 对象和对象的组合。云里雾里?写个简单例子帮助理解~0x2、写个简单例子还是奶茶店的例子(树形结构):不难分解成两类,并假设有后面的需求:菜单:菜单名、描述信息、增删子菜单或饮品;饮品:名称、描述信息、价...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-门面模式)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-门面模式)

0x1、定义为子系统提供一组统一的接口,定义一个更高层接口让子系统更易用。从定义可以看出门面模式的本质就是 统一多个接口的功能,简化外部系统使用内部多个子系统的使用方式。举个形象的例子:电表箱主卧、餐厅、阳台等可以看做是 子系统,而电表箱就是 更高层的接口,通过电表箱可以对每个子系统进行电源控制。而...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-适配器模式)(下)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-适配器模式)(下)

0x3、对象适配器还是上面的例子,改用对象适配器写一波,直接新建一个对象适配器类:public class ObjectAdapter implements Chinese { private English english; public ObjectAdapter(English english...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-适配器模式)(上)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-适配器模式)(上)

0x1、定义适配器,很好理解,比如手边的电脑电源适配器,它的作用就是将 220V的家用交流电 转换成 20V的直流电,又比如苹果笔记本电脑,只有 雷电接口,如果想用 USB接口的键鼠/网线,需要一个 扩展坞/转接头。将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能在一起工作...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-装饰器模式)(下)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-装饰器模式)(下)

四个角色:Component (抽象组件) → 声明具体组件实现的业务方法,让客户端以一致的方式处理为修饰和修饰后的对象;ConcreteComponent (具体组件) → 抽象组件的具体实现;Decorator (抽象装饰类) → 包含对组件的引用,并重写抽象组件的方法;ConcreteDeco...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-装饰器模式)(上)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-装饰器模式)(上)

0x1、定义允许动态地向一个现有的对象添加新功能,同时不改变其结构,相当于对现有对象的进行了一个包装。很好理解,就是套了一层,跟代理模式又不一样,装饰器模式可以套娃一样套多层。0x2、写个例子桥接模式 → 广度,装饰器模式 → 深度,咋体现?还是上节形状的例子:abstr...

把书读薄 | 《设计模式之美》设计模式与范式(结构型-桥接模式)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-桥接模式)

0x0、引言日常更新,忙里偷闲啃《设计模式之美》,本文对应设计模式与范式:结构型(49),桥接模式 (Bridge Pattern)。上节学了第一种结构型设计模式 → 代理模式 → 在不改变原始类(被代理类)的情况下,通过引入代理类来给原始类附加功能。而桥接模式有两种理解方式:将抽象和实现解耦,让....

把书读薄 | 《设计模式之美》设计模式与范式(结构型-代理模式)(下)

把书读薄 | 《设计模式之美》设计模式与范式(结构型-代理模式)(下)

运行结果如下:接着可以打开看看 $Proxy0 这个动态代理类:static代码块中获取代理方法,然后利用反射调用动态代理类的方法。看着比较简单,接着看下背后的原理。② JDK动态代理的实现原理跟下Proxy的 newProxyInstance() 方法:先跟下 getProxyClass0() 查...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。