随笔分类 -  设计模式

摘要:工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 与简单工厂模式的区别:简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但 阅读全文
posted @ 2022-11-15 16:00 DaleLee 阅读(20) 评论(0) 推荐(0) 编辑
摘要:代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。 public abstract class Subject { public abstra 阅读全文
posted @ 2022-11-14 17:15 DaleLee 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1 概述 装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent 是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator 阅读全文
posted @ 2022-11-13 18:05 DaleLee 阅读(18) 评论(0) 推荐(0) 编辑
摘要:单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容,就是发现职责并把那些 阅读全文
posted @ 2022-11-11 17:41 DaleLee 阅读(51) 评论(0) 推荐(0) 编辑
摘要:定义:策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合 优点:策略模式的Strategy 类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公 阅读全文
posted @ 2022-11-10 17:17 DaleLee 阅读(23) 评论(0) 推荐(0) 编辑
摘要:目标:设计一个计算器程序 思路:先定义一个操作父类,存放运算数据,抽象一个返回结果的运算方法。再用不同的操作方式(如加、减、乘、除)继承父类,各自实现运算方法。最后定义定一个工厂类,通过传入不同的运算符来实例化相应的操作类。 优点:易于拓展,当有新的操作需要实现时,只需要实现新的操作类,并在工厂类中 阅读全文
posted @ 2022-11-09 19:49 DaleLee 阅读(15) 评论(0) 推荐(0) 编辑

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