![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 64
dswwedxc
这个作者很懒,什么都没留下…
展开
-
Strategy(策略)
定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。Strategy及其子类为组件提供了一系列可重用的算法,从而可以使得类型在运行时方便地根据需要在各个算法之间进行切换。Strategy模式提供了用条件判断语句以外的另一种选择,消除条件判断语句,就是在解耦合。含有许多条件判断语句的代码通常都需要Strategy模式。原创 2024-08-09 18:14:57 · 345 阅读 · 0 评论 -
Qt中的“组件协作”模式:Signals and Slots(信号与槽)
现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。原创 2024-08-08 15:13:16 · 353 阅读 · 0 评论 -
Template Method(模版方法)
定义一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(override重写)该算法的某些特定步骤。Template Method模式是一种非常基础性的设计模式,在面向对象系统中有着大量的应用。它用最简洁的机制(虚函数的多态性)为很多应用程序框架提供了灵活的扩展点,是代码复用方面的基本实现结构。除了可以灵活应对子步骤的变化外,“不要调用我,让我来调用你”的反向控制结构是Template Method的典型应用。原创 2024-08-07 15:39:50 · 399 阅读 · 0 评论 -
Observer(观察者)
定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。使用面向对象的抽象,Observer模式使得我们可以独立地改变目标(被观察者)与观察者,从而使二者之间的依赖关系达致松耦合。目标(被观察者)发送通知时,无需指定观察者,通知(可以携带通知信息作为参数)会自动传播。观察者自己决定是否需要订阅通知,目标对象对此一无所知。Observer模式是基于事件的UI框架中非常常用的设计模式,也是MVC模式的一个重要组成部分。原创 2024-08-07 15:42:40 · 709 阅读 · 0 评论 -
OO设计原则:SOLID
一个类,应该仅有一个引起它变化的原因。变化的方向隐含着类的责任。原创 2024-08-07 15:37:00 · 231 阅读 · 0 评论 -
设计模式组织编目
• 结构型(Structural)模式:通过类继承或者对象组合获得更灵。• 创建型(Creational)模式:将对象的部分创建工作延迟到子。• 行为型(Behavioral)模式:通过类继承或者对象组合来划分。类或者其他对象,从而应对需求变化为对象创建时具体类型实。类与对象间的职责,从而应对需求变化为多个交互的对象带来。活的结构,从而应对需求变化为对象的结构带来的冲击。• 类模式处理类与子类的静态关系。• 对象模式处理对象间的动态关系。Adapter(对象)原创 2024-08-07 15:35:00 · 193 阅读 · 0 评论