2018-03-04 Vaniot
工厂模式是一种创建型的设计模式,提供一种创建对象的方式。 more 简单工厂模式 简单工厂模式又称为静态工厂方法(Static Factory Method)模式。在简单工厂模式中,创建对象不会对客户端暴露创建的逻辑,使用一个共同的接口指向新创建的对象,由子类决定实例化的工厂类,创建的过程延迟到子类中进行。工厂模式常用于实例化对象的子类可能变化或者创建某个对象时需要许多的额外操作的场景,解决接口选择的问题。 - 接口类 ``` 继续阅读 »
2015-03-16 derekchan
今天我来谈谈设计模式中常用的一个模式:工厂模式; 工厂模式的应用场景通常是需要根据不同参数来判断运行方法,为了避免逻辑处理代码的复杂度。我们可利用工厂模式,来减低逻辑处理的耦合度,提高代码可扩展性。 举个例子 商场里面的现金结算系统,有打8折和满500返50的功能,如果用一般的代码设计的话,就会是这样的: 继续阅读 »
2014-04-21 W.Y.
我们今天要讨论的主题是,大型 JavaScript 应用中一些有效的设计模式。本文基于我最近发布在 LondonJS 上同名演讲,灵感则来自于 Nicholas Zakas 之前的研究成果。 我是谁以及我为什么要撰写这个主题? 我目前是 AOL 的一名 JavaScript 和 UI 开发人员,负责规划和编写下一代面向用户的应用的前端架构。这些应用不仅复杂,而且需要一种可扩展和高复用的架构,我的职责之一就是确保这类应用中的设计模式尽可能是可持续的。 尽管在这个领域有许多比我知识渊博的专家,我也认为自己是设计模式的狂热者。先前,我基于 Creative Commons 许可写了 《Essential JavaScript Des 继续阅读 »
2015-03-18 derekchan
前面讲到了工厂模式,今天来讲讲策略模式,工厂模式只是单纯的封装了行为。使用策略模式能把算法对象分别封装起来,让它们之间可以互相替换,减少了各种算法类与使用算法类之间的耦合。 我们来看看策略模式是怎么工作的: [][1] 继续阅读 »
2015-04-11 derekchan
在开发项目的时候,常常会利用继承来实现子父类的功能传递。比如,我们开发一个餐厅点餐系统,点餐系统现在有饭类,面类这两种主食可以选择,搭配主食的有饮料,小食。 起初的架构是这样的: [][1] 继续阅读 »
2018-03-04 Vaniot
2016-09-28 demon7452
策略模式-Strategy Pattern GitHub源码 定义 The Strategy Pattern defines a family of algorithms(演算法;运算法则;),encapsulates( 总结; 扼要概括; ) each one,and makes them interchangeable(可交换的;可交替的;).Strategy lets the algorithm vary independently from clients that use it. 继续阅读 »
2015-03-09 derekchan
1、面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。 2、策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 继续阅读 »
2016-06-30 ALEX LIN
面向过程和面向对象 面向过程是祈使句,面向对象是主谓(宾)结构。 面向过程注重数据的存储和操作,面向对象注重用程序模拟生活逻辑。 面向过程数据和操作数据的过程是分离的,没有逻辑上的必然联系;面向对象中数据和操作数据的方法是逻辑上的整体,称之为对象。 面向对象的基本概念 对象:现实世界中的对象是我们认识世界的基本单元,世界就是由这些基本单元组成的。一切皆为对象;每个对象都是独一无二的;对象都有属性和行为;对象都属于某个类。 类:类是对一组具有共同属性和行为的对象的抽象,它是对象的蓝图和模板。 消息:对象与对象之间存在着一定的联系,这种联系通过消息的传递来实现。程序中的一切操作都通过向对象发送消息来实现,对象接收到消息后, 继续阅读 »
2018-03-08 Vaniot