Boolan 设计模式_2

主要内容:

本节主要讲对象创建和接口隔离各四种设计模式。

1. 对象创建模式

1.1 工厂模式

ISplitter *splitter = new BinarySplitter(); 这样写是编译时的依赖具体类,违反依赖倒置原则。
MainForm只依赖于抽象的ISplitter和SplitterFactory,并不依赖于具体类。
利用工厂方法创建具体的Splitter,延迟对象创建。

1.2 抽象工厂

解决一系列对象创建的工作。

1.3 原型模式

通过克隆自己创建对象,调用自己的拷贝构造函数 eg. new BinarySplitter(*this)。

1.4 构建器
  • eg. 构建房子
  • 在构造函数中调用虚函数是静态绑定,不是动态绑定。因为子类对象在构造时,先调用父类的构造函数,由于子类还没有构造出来,所以在调用父类构造中不能调用子类的虚函数。
  • 适用于:构建过程相同,但构建的各个部分不同的对象。
    分离house和housebuilder,housebuilder中有一个指向house的指针,获取house的成员。housedirector实现对house的构建过程,其中有一个指向housebuilder的指针,获取构造各个部件的方法。

2. 接口隔离模式

2.1 门面模式
  • 无论内部怎么变化,对外的接口还都是一致的。
  • “解耦”。
  • 一种架构设计思想。
2.2 代理模式
  • 两个对象之间增加一层间接层。
  • 在分布式系统中应用广泛。
2.3 适配器
  • 复用原有的类,但现有的接口和原有接口不一致情况使用。
  • 两种适配:
    (1)对象适配,运用组合,符合松耦合。
    (2)类适配,运用多继承,protected继承实现,不是继承接口。一般不推荐使用。
2.4 中介者
  • 多个对象相互关联的情况使用。
  • 用一个对象封装变化。

ps. 暂时写这么多,后面会边看书边补充。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,796评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,704评论 9 118
  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 4,083评论 3 14
  • 不知是马蓉在蹭热度还是一些自媒体人在蹭热度,看了许多关于马蓉的帖子,发现文章内容截图基本都不是同一个头像,甚至是不...
    群美娱乐阅读 256评论 0 0

友情链接更多精彩内容