随笔分类 - 设计模式系列
在Javascript中应用设计模式
摘要:大家好!本文介绍状态模式及其在Javascript中的应用。模式介绍定义当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。类图及说明State:抽象状态接口或抽象类,负责对象状态定义,并且封装环境角色以实现状态切换ConcreState:具体状态每一个具体状态必须完成两个职责:本状态的行为管理以及趋向状态处理。通俗地说,就是本状态下要做的事情,以及本状态如何过渡到其他状态。Context:环境 定义客户端需要的接口,并且负责具体状态的
阅读全文
摘要:大家好!本文介绍迭代器模式及其在Javascript中的应用。模式介绍定义提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。类图及说明Iterator抽象迭代器抽象迭代器负责定义访问和遍历元素的接口,而且基本上是有固定的3个方法:first()获得第一个元素,next()访问下一个元素,isDone()(或者为hasNext())是否已经访问到底部ConcreIterator具体迭代器具体迭代器角色要实现迭代器接口,完成容器元素的遍历。Aggregate抽象容器容器角色负重提供创建具体迭代器角色的接口,必然提供一个类似createIterator()(或者为iterator()
阅读全文
摘要:大家好!本文介绍观察者模式及其在Javascript中的应用。模式介绍定义定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。类图及说明Subject:主题\发布者能够动态地增加、取消观察者。它负责管理观察者并通知观察者。Observer:观察者\...
阅读全文