结构型:组合模式

结构型:组合模式

概述 一个组织有很多子组织,而无论子组织是单独一个部门或是一个分组织。该组织都希望把它们当成一样的子组织来管理。 比如公司总部有多个部分,该公司还有一些分公司,当总部有通知需要下达时,将分公司视为部门一样,一起通知。而分公司拿到通知之后,再下达该通知到自己下属的各个部门。 定义 ...

设计模式:归类

设计模式:归类

设计模式 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案 。 设计模式-分类 创建型 工厂方法模式 Code 简单工厂模式是通过给工厂传入标志参数,来创建对应标识表示的商品类。 工厂方法模式是工厂类持有创建多个商品类的接口,这些接口返回商品类的基类指针。 抽象工厂...

行为型:解释器模式

行为型:解释器模式

概述 解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。诸如此类的例子也有很多,比如编译器、正则表达式等等。 如果一种特定类型的问题发生的频率足够高,那么可能就...

行为型:命令模式

行为型:命令模式

概述 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 命令模式可以...

设计模式:六大原则

设计模式:六大原则

总原则:开闭原则 对扩展开放,对修改关闭 在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。 实现“开-闭”原则的关键步骤是抽象化。 一 单一原则 不要存在多于一个导致类变更的原因 每个类应该实现单一的职责,如若不然,就应该把类拆分 二 里...

行为型:责任链模式

行为型:责任链模式

概述 一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。 定...

结构型:适配器模式

结构型:适配器模式

概述 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。 在这种情况下,现有的接口需要转化为客户类期望的接口,这样保证了...

架构模式:MVC模式

架构模式:MVC模式

概述 MVC 模式是一种软件设计模式,用于将应用程序的逻辑分为三个独立的组件: 模型(Model) 视图(View) 控制器(Controller) 每个组件都有自己的职责,并且彼此之间相互解耦,从而提高了代码的可维护性和可扩展性 模型 模型表示应用程序的数据和业务逻辑。 它负责...

创建型:原型模式

创建型:原型模式

概述 指定要使用原型实例创建的对象的种类,并通过复制此原型来创建新对象。模式具有创造目的,并处理动态的对象关系。该模式隐藏了从客户端创建新实例的复杂性。 定义 通过给出一个原型对象来指明所要创建对象的类型,然后克隆该原型对象以便创建出更多同类型的新对象。 角色 Prototype...

结构型:装饰器模式

结构型:装饰器模式

概述 一般有两种方式可以实现给一个类或对象增加行为: 继承机制 关联机制 继承机制 使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。 关联机制 即将一个类的对...

扫一扫二维码分享