随笔分类 -  设计模式

摘要:设计模式(7)原型模式 ##情景 原型模式 如何复制一个对象?对于一个类而言,它存在一些私有的成员,这些成员无法被访问,那么就需要提供一个接口来实现对象复制。 解决方案 原型模式将克隆过程委派给被克隆的实际对象。 模式为所有支持克隆的对象声明了一个通用接口, 该接口让你能够克隆对象, 同时又无需将代 阅读全文
posted @ 2022-08-09 22:16 Paranoid5 阅读(20) 评论(0) 推荐(0) 编辑
摘要:桥接模式 情景 桥接模式的目的是将一个大类或者一系列类拆分为抽象和实现两个层次。 桥接模式 一个Shape类,可以扩展两个形状 Circle 和 Square 。希望每一个形状还有两颜色,进而Shape会有四个子类。这样的话我们需要添加的类会越变越多。比如说我们再加一个三角形的子类就需要加上两个子类 阅读全文
posted @ 2022-08-03 19:28 Paranoid5 阅读(61) 评论(0) 推荐(0) 编辑
摘要:适配器模式 情景 将一个类的接口转换成客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。 在这个网站里有这么一个例子 设计一个股票市场检测程序,它下载大量的XML格式的股票数据。在开发过程中,整合一个第三方智能分析函数库,但是这个库只兼容JSON格 阅读全文
posted @ 2022-08-02 16:04 Paranoid5 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Reactor模式 引入维基百科来解释下 一种事件处理模式,用于处理由一个或多个输入同时传递给服务处理程序的服务请求。然后,服务处理程序对传入的请求进行解复用,并将它们同步分派给关联的请求处理程序。 形象一点,一个服务器处理一个或者多个客户端,而服务器通过多路复用,同步分发给处理器。 显然看出, 阅读全文
posted @ 2022-07-20 20:52 Paranoid5 阅读(32) 评论(0) 推荐(0) 编辑
摘要:生成器模式 情景 假设有这样一个复杂对象,在对其进行构造的时候需要对诸多成员变量和嵌套对象进行繁复的初始化工作。 比如一个house,我们需要考虑创造Wall、Door、Window等等。这样创建house的时候就会变得非常复杂。因此我们引入生成器模式。 生成器模式 生成器模式建议将对象构造代码从产 阅读全文
posted @ 2022-05-28 11:45 Paranoid5 阅读(45) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式 存在一个工厂生产A,B,C三种产品。我们想要写一个程序描述这个过程。 我们可以写一个工厂类负责创建产品,但是产品是不唯一的,我们需要创建一个抽象产品类,然后对于每一种具体的产品,我们就创建对应的具体产品类,具体产品类继承自抽象产品类。 class Products{//抽象产品类 pu 阅读全文
posted @ 2022-05-24 22:08 Paranoid5 阅读(15) 评论(0) 推荐(0) 编辑
摘要:设计模式(2)单例模式 解决什么问题? 一个很典型的例子,windows系统中的任务管理器。这是一个具有唯一性的软件,我们不希望有两个不一样的任务管理器出现在我们的操作系统中。像这样的,有且只有一个的对象的类,我们用单例模式。 如何解决 单例模式: 私有化构造方法 在类的内部创建一个对象 通过公开的 阅读全文
posted @ 2022-05-19 18:06 Paranoid5 阅读(25) 评论(0) 推荐(0) 编辑
摘要:设计模式(1) 面试问到挺多的,所以准备系统的学一下。 设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 六大设计原则 单一职责 SRP 一个类只负责一项职责。 更加具体的,职责指的是类变化的原因只有一个**。 举个例子:Class1完成T1、T2两个职责,当其中一个职责需要修改时, 阅读全文
posted @ 2022-05-18 18:15 Paranoid5 阅读(23) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示