摘要:
可通过滑动加载的方式模拟分页 最后一步: 阅读全文
摘要:
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。 这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 构建语法树,定义终结符与非终结符。 应用实例:编译器、运算表达式计算。 测试结果: 阅读全文
摘要:
请假 //方法体里面 leave() { MessageBox.prompt('请假理由', { inputValidator: (val) => { if (val === null) { return true;//初始化的值为null,不做处理的话,刚打开MessageBox就会校验出错,影响用户体验 } return !(val.length... 阅读全文
摘要:
中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 主要是通过这个类进行关联 测试结果: 阅读全文
摘要:
在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。 通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。 根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 假如某个学科接受访问者访问 阅读全文
摘要:
状态模式(State Pattern)中,类的行为是基于它的状态改变的。 例如QQ的隐藏在线功能。使用场景可用于 1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。 通常命令模式的接口中只有一个方法。而状态模式的接口中有一个或者多个方法。 而且,状态模式的实现类的方法,一般返回值,或者是 阅读全文
摘要:
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。 说白了,就是用了一个中间类来存储之前的记录,如果记录需要时间可以用map来存储。 阅读全文
摘要:
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。 请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合, 阅读全文
摘要:
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它 阅读全文
摘要:
迭代器模式(Iterator Pattern)是 Java 编程环境中非常常用的设计模式。 这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 实现类 可以模仿java迭代方法的实现。 关键就是定义接口:hasNext, next。 然后通过这种借口写出自己的集合框架 阅读全文
摘要:
先建立一个接口和两个实现类 再新建一个接口: 其中通知所有的观察者的就是观察者模式。 具体实现: 在这里,更新自身的同时通知其他观察者; 结果: 只是将观察者关联起来,有点类似于socket的群聊,发出一句话然后其他人都能收到 这里其他人就算是观察者。这就是观察者模式 阅读全文
摘要:
先看代码: 运算结果: 上面抽象类的代码中有calculate方法,是可以通过不同的子类继承并且重写的,这就相当于模版 定义了模版,至于具体是怎么子的通过子类实现 阅读全文
摘要:
策略模式就是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 先定义一个统一的接口 这是一个辅助类 上面是运算类 结果: 通过接口的多态实现不同的运算方法 策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部 阅读全文