
行为型:解释器模式
概述 解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。诸如此类的例子也有很多,比如编译器、正则表达式等等。 如果一种特定类型的问题发生的频率足够高,那么可能就...
概述 解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。诸如此类的例子也有很多,比如编译器、正则表达式等等。 如果一种特定类型的问题发生的频率足够高,那么可能就...
概述 MVVM 模式(Model-View-ViewModel)是一种软件架构模式,它是从 MVC(Model-View-Controller)模式演变而来的,旨在解决 MVC 模式中视图(View)和模型(Model)之间的紧密耦合问题。 MVVM 模式将应用程序分为三个主要组...
概述 当用户对象之间存在很强的关联性时,会有以下问题: 系统结构负责 对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。 对象的可重用性差 由于一个对象和其他对象具有很强的关联,若没有其他对象的支持,一个对象很难被另一个...
简述 在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。 定义...
概述 父类抽象出子类共有的方法,并且自己实现他 子类实现各自不同的业务 父类实现的方法按照一定的逻辑调用抽象方法 为了反之子类重写父类实现的方法父类定义为final方法 定义 一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方...
概述 访问者模式是一种将数据操作和数据结构分离的设计模式。 定义 表示要对对象结构的元素执行的操作。它使您可以定义新操作,而无需更改其所操作元素的类。该模式具有行为目的,并且适用于对象。 角色 Visitor:抽象访问者类 ConcreteVisitor:具体访问者类 Eleme...
概述 备忘录模式能记录一个对象的内部状态,当用户后悔时能撤销当前操作,使数据恢复到它原先的状态。 定义 在不违反封装的情况下,Memento捕获并外部化了对象的内部状态,以便以后可以将对象恢复到此状态。该模式具有行为目的,并且适用于对象。 角色 Memento:备忘录类 Orig...
概述 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 命令模式可以...
概述 一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。 定...
搜索当前标签