Giter VIP home page Giter VIP logo

design-patterns-tutorial's Introduction

design-patterns-tutorial

Usage 使用

	git clone [email protected]:slashhuang/design-patterns-tutorial.git --depth=1

	cd design-patterns-tutorial

	## open html file to check results

Demo 查看演示

简易日志系统演示simple decorator log system

decorator设计模式

简单的对象回调数组演示 simple observer array

observer设计模式

结合事件进行的订阅发布模式 pub-sub handler combined with DOM events

pub-sub设计模式

内存管理之单例模式 memory saving strategy with singleton

singleton设计模式

FAQ

1. 观察者模式与发布订阅模式如何区分?

observer vs pub/sub

eg. $('input').change() 做三件事件

  • pub/sub ==> 是根据topic 比如click等来执行通知

trigger('日志') trigger('发起请求) trigger(UI')

  • observer ==> 比如 redux.subscribe的api就是这样子 不会对事情做区分 ['日志','发起请求','UI'].forEach(fn)

2. 单例模式应用场景

dialog或者modal组件

	<button> =>  click  => 弹出modal、dialog  ==> 点击叉叉隐藏 
	<button> =>  click  => 弹出modal、dialog  ==> 点击叉叉隐藏

Author contact

github

zhihu

design-patterns-tutorial's People

Contributors

slashhuang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.