JavaScript设计模式--状态、备忘录、中介者

设计模式导航


\bullet 状态模式

    \ast 目标

        优化if...else

    \ast 应用场景

        promise、有限状态机

    \ast 代码示例

(当对象状态变化时,调用同一个接口,执行的具体逻辑不同,它强调的是由谁到谁)

\bullet 备忘录模式

    \ast 目标

        记录状态变化,必要时回退

    \ast 应用场景

        列表分页

    \ast 代码示例

        假设需要展示一个分页表格,并且与后台建立一个webSocket通信,约定仅在更新时刷新表格。其他情况下前端只请求一次即可

        定义PageMemoto类,用于记录每一页的数据

        定义PageMemotoList类,作为备忘列表,存储所有的页面数据状态

        实现Table组件

        对于当前点击的页数,首先从备忘列表中查找,找不到再请求接口

\bullet 中介者模式

    \ast 目标

        分离多个交互对象的联系

    \ast 应用场景

        购物车

    \ast 代码示例

        假设现在有两组下拉框SelectA和SelectB,其中SelectA的第二个选项和SelectB的第二个选项互斥

(避免在A中直接修改B)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容