
结构型:委托模式
概述 委托模式(Delegate Pattern)是一种结构型设计模式,它允许一个对象(委托者)将某些特定的任务委托给其他对象(委托对象)来执行。 委托模式可以用于解耦合、分离关注点以及在运行时动态选择执行对象 委托模式的主要目的是将一组具体的任务从委托者对象中解耦出来,使得委托...
概述 委托模式(Delegate Pattern)是一种结构型设计模式,它允许一个对象(委托者)将某些特定的任务委托给其他对象(委托对象)来执行。 委托模式可以用于解耦合、分离关注点以及在运行时动态选择执行对象 委托模式的主要目的是将一组具体的任务从委托者对象中解耦出来,使得委托...
概述 面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。 享元模式通过共享技术实现相同或相似对象的重用。 在享元模式中可以共享的相同内容称为内部状态(IntrinsicSta...
概述 对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了。 面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任,迭代...
概述 MVP模式(Model-View-Presenter)是一种用于构建用户界面的架构模式,它是MVC模式的一种变体。 MVP模式将应用程序划分为三个部分:Model(模型)、View(视图)和Presenter(表示器)。 Model(模型) 模型是应用程序的数据和业务逻辑的...
概述 隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。 定义 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模...
概述 完成一项任务或事情,往往会有多种方法,而每一个方法可以称之为一个策略。而策略的选择,往往需要根据实际的环境或者条件的不同而做出不同的选择。 定义 定义一系列算法,将每一个算法封装起来,并让它们可以相互代替。 策略模式让算法独立于使用它的客户而变化。 角色 Context: ...
概述 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 第二种设计方案是根据实际需要对形状和颜色进行组合 对于有两个变化...
概述 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展。 定...
简述 在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。 定义...
搜索当前标签