今天和大家聊聊软件的架构风格。所谓的软件架构风格,就是一种可以重复利用的软件结构模式,其最大的作用是用相同的结构解决某一特殊领域的问题。如著名的三层B/S架构设计,其主要目的就是为了解决Web系统服务端与客户端的高耦合与维护成本高的问题。使用B/S三层架构模式,实现..
分类:
其他好文 时间:
2014-10-08 18:16:16
阅读次数:
271
建造者模式(Builder):工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理。简单起见,就拿之前的工厂方法模式进行修改一下就可以得到建造者模式。
建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。所以与工厂模式的区别就是:工厂模式关注的是创建单个产品,而建造者模式则关注创建复合对象,多个部分。...
分类:
编程语言 时间:
2014-10-08 01:53:34
阅读次数:
386
qeephp3 QeePHP 是一个快速、灵活的开发框架。应用各种成熟的架构模式和创新的设计,帮助开发者提高开发效率、降低开发难度。主要目标是为开发者创建更复杂、更灵活、更大规模的 Web 应用程序提供一个基础解决方案...
分类:
Web程序 时间:
2014-10-07 19:52:44
阅读次数:
321
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39828653
状态模式(State):允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。状态模式说白了就是一个对像有不同的状态,不同的状态对应不同的行为,它其实是对switch case这样的语句的拓展。
封装基类状态的行为,并将行为委托到当前状态。...
分类:
编程语言 时间:
2014-10-06 20:53:30
阅读次数:
297
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39807741
迭代器模式(Iterator):提供了一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
迭代器模式就是顺序访问集合中的对象,这句话包含两层意思:一是需要遍历的对象,即集合对象,二是迭代器对象,用于对集合对象进行遍历访问。...
分类:
编程语言 时间:
2014-10-06 17:02:00
阅读次数:
184
模板方法模式(Template Method):在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以再不改变算法结构的情况下,重新定义算法中的某些步骤。简而言之:模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。
模板方法模式:一个抽象类中,有一个主方法,再定义1...n个方法,可以抽象,可以不抽象,定义子类继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用。...
分类:
编程语言 时间:
2014-10-05 23:23:19
阅读次数:
342
命令模式(Command):将“请求”(命令/口令)封装成一个对象,以便使用不同的请求、队列或者日志来参数化其对象。命令模式也支持撤销操作。命令模式的目的就是达到命令的发出者和执行者之间解耦,实现请求和执行分开。
从上面的示例可以看到:命令模式将“动作的请求者”从“动作的执行者”对象中解耦出来,这就是将方法的调用封装起来的好处。...
分类:
编程语言 时间:
2014-10-05 19:08:58
阅读次数:
178
谈谈MVC模式作者:阮一峰1.如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。MVC模式就是架构模式的一种,它对我的启发特别大。我觉得它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。下面是我对MVC模式的一些个人理...
分类:
Web程序 时间:
2014-10-03 00:32:53
阅读次数:
190
(译者序) “每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。” ———— Christopher Alexander招式套路可以千变万化,扎实深厚的“内功”却是始终如一;(前言) 关于软件架构的通用性的书籍,我推荐[...
分类:
其他好文 时间:
2014-10-02 18:17:03
阅读次数:
175
今天开始咱们来谈谈Java设计模式。这里会结合uml图形来讲解,有对uml建模不熟的可以参考我的另一篇博文uml建模。
首先,个人觉得模式的设计就是一个将变化的东西和不变(稳定)的东西分离的过程。咱们的应用中可能有很多需要改变的地方,而模式要做的就是把它们“抽取”出来并进行“封装”和“实现”,因此更多的时候咱们是面向接口编程。下面将结合《Head First 设计模式》这一书中的某些具体案例以及本人的理解进行讲解。如果大家透过看图能说出是哪种模式并能进行具体的代码实现及加以应用,反之也能做到,那么我想关于J...
分类:
编程语言 时间:
2014-10-02 00:37:32
阅读次数:
297