这次我们提议的架构使用了我们都很熟知的设计模式:module, facade和mediator。
Module模式 1、module模式是一个比较流行的设计模式,它可以通过大括号封装私有的变量、方法、状态等,通过包装这些内容,一般全局的对象不能直接访问,在这个设计模式里,只返回一个API,其它的内容全部被封装成私有; 2、这个模式和自执行的函数表达式比较相似,唯一不同的是module模式返回的是对象,而自执行函数返回的是function; 3、javascript没有声明private、public修饰符,我们可以通过return语句返回我们要公共的方法,达到public效果,而其它的为private; 示例:统计对象 需求:一个超市有多种产品,现在要求统计多种产品的价格 思想:把超市里的每一种产品作为一个对象,产品有名称、价格,如:{item:'桔子',price:0.5} -->
总结:
1、mediator只有在facade授权检测以后才能进行信息处理。
2、各个模块之间联系的越密切,重用性越小,改变起来困难越大。
3、构建大型程序最大的秘密就是从来不构建大型程序,而是将程序分解成各个小的模块去做,让每个小模块都可测试,可size化,然后集成到程序里。
4、一切皆可变,所以要抽象。