设计模式行为型模式 设计模式 2022-03-08 模板方法模式 定义Template Method Pattern:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。 类图 角色 抽象类 (AbstractClass):会声明作为算法步骤的方法, 以及依次调用它们的实际模板方法。 算法步骤可以被声明为抽象类型, 也可以提供一些默认实现。 具体类 (ConcreteClass):可以重写所有步骤, 但不能重写模板方法自身。 Read More
设计模式行为型模式 设计模式 2022-03-08 命令模式 定义Command Pattern:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式的别名为动作(Action)模式或事务(Transaction)模式。 类图 角色 客户端(Client)角色:创建一个具体命令(ConcreteCommand)对象并确定其接收者。 命令(Command)角色:声明了一个给所有具体命令类的抽象接口。 Read More
设计模式行为型模式 设计模式 2022-03-08 中介者模式 定义用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。 类图 角色 抽象中介者(Mediator):定义出同事对象到中介者对象的接口,其中主要方法是一个(或多个)事件方法。 具体中介者(ConcreteMediator):实现了抽象中介者所声明的事件方法。具体中介者知晓所有的具体同事类,并负责具体的协调各同事对象的交互关系。 Read More
设计模式创建型模式 设计模式 2022-03-08 单例模式 单例模式应该是最常见的设计模式了 定义定义:单例对象的类必须保证只有一个实例存在。 为了实现一个健壮的单例,我们应该思考需要做哪些事情? 不能随意的让用户new出对象,所以构造函数应该是私有的 Read More