网站建设header,百度怎么做网站广告,上海建站宝盒,做投票的网站前言
参考书籍#xff1a;《秒懂设计模式》
1、装饰器模式#xff08;Decorator#xff09;
1、装饰器模式#xff1a;对原始对象动态地进行“包装”#xff0c;是对类实例“装饰”的结果#xff1b;类似于继承的效果#xff0c;但这个过程是动态的#xff0c;是可设…前言
参考书籍《秒懂设计模式》
1、装饰器模式Decorator
1、装饰器模式对原始对象动态地进行“包装”是对类实例“装饰”的结果类似于继承的效果但这个过程是动态的是可设置的
我们可以通过女生化妆的例子来展示其效果 首先创建展示接口和女生类 把化妆品类看作装饰器 客户端看到的效果就是这样 2、但化妆品也有不同所以我们也可以把装饰器设置成抽象类便于化妆品类继承 客户端效果如下 3、装饰器模式的类结构
2、代理模式Proxy
1、代理模式简单来说就是代理方以业务对象的名义代理了它的业务就类似于经纪人和明星的关系通常外人都是和经纪人交接而不是直接和明星交接
我们通过路由器代理互联网服务的过程展示其效果 路由器对连接进行过滤后才能访问互联网 客户端效果如下 2、与装饰器模式的区别装饰器模式更加关注为其他对象增加功能而代理模式更强调对访问的管控甚至是将代理对象完全封装而隐藏起来
3、动态代理指不需要专门针对某个接口去编写代码实现一个代理类而是在接口运行时动态生成其实就类似于抽象工厂把共同的抽象特质提取出来然后再分别组装的过程
4、代理模式的类结构
3、策略模式Strategy
1、策略模式强调的是行为的灵活切换抽象理解就是假设因为某种原因无法实行A计划就马上更换为B计划达成目的。
我们通过算法和计数器的结合过程展示其效果 首先定义统一的算法策略接口 然后定义具体的策略类 定义实际应用的计算机类 客户端类的效果 2、核心思想就是将算法的设计和计算器的硬件分离就像一个游戏机切换不同的游戏那样
3、策略模式的类结构
4、观察者模式Observer
1、观察者模式根据被观察对象和观察对象之间一对多的依赖关系建立起一种行为自动触发机制即根据被观察对象状态的改变通知所有观察者做出响应
我们通过买家预订购买商家的物品的过程来展示其效果 只买一类物品的买家 啥都买的买家 客户端效果如下 2、其实可以简单理解为充话费如果话费到账了就会有相关信息发给相关用户如果没有到账那消息就不会发送
3、观察者模式的类结构
5、建造者模式Builder
1、建造者模式建造者模式又称为生成器模式主要用于对复杂对象的构建、初始化它可以将多个简单的组件对象按顺序一步步组装起来最终构建成一个复杂的成品对象即零件组装的过程
我们通过造房子的过程来理解其效果 工程总监执行工程实施过程 客户端实现效果 2、其实就是流程统一但是根据需求不同施工方式不统一
3、建造者模式的类结构