2015-03-11 litaotao
1. 抽象工厂模式   抽象工厂模式(英语:Abstract factory pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。在正常使用中,客户端程序需要创建抽象工厂的具体实现,然后使用抽象工厂作为接口来创建这一主题的具体对象。客户端程序不需要知道(或关心)它从这些内部的工厂方法中获得对象的具体类型,因为客户端程序仅使用这些对象的通用接口。抽象工厂模式将一组对象的实现细节与他们的一般使用分离开来。 继续阅读 »
2015-03-13 litaotao
1. 适配器模式   在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 继续阅读 »
2015-03-12 litaotao
1. 迭代器模式   提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。迭代器模式的结构: 抽象容器:一般是一个接口,提供一个iterator()方法,例如java中的Collection接口,List接口,Set接口等。 具体容器:就是抽象容器的具体实现类,比如List接口的有序列表实现ArrayList,List接口的链表实现LinkList,Set接口的哈希列表的实现HashSet等。 抽象迭代器:定义遍历元素所需要的方法,一般来说会有这么三个方法:取得第一个元素的方法first(),取得下一个元素的方法next(),判断是否遍历结束的方法isDone()(或者叫hasNext()),移出当前对象的方 继续阅读 »
2015-11-26 summer
说明 本篇文章的代码在github上,感兴趣的可以下载:源码 继续阅读 »
2014-04-19 W.Y.
一群恶魔的猪从无辜的小鸟那里偷走了所有的前端架构,现在它们要夺回来。一对特工英雄(愤怒的小鸟)将攻击那些卑鄙的猪,直到夺回属于他们的前端架构。(译者注:本系列是关乎前端架构的讨论,作者借用当前最风靡的游戏 - 愤怒的小鸟,为我们揭开了前端架构的真实面目。) 小鸟们最终能取得胜利吗?它们会战胜那些满身培根味的敌人吗?让我们一起来揭示 JavaScript 之愤怒的小鸟系列的另一个扣人心弦的章节! 阅读本系列的介绍文章,查看所有小鸟以及它们的进攻力量。 战况 红色大鸟 - 立即调用的函数表达式 蓝色小鸟 - 事件 黄色小鸟 - 模块化、依赖管理、性能优化 黑色小鸟 - 前端分层架构 白色小鸟 - 代码质量和代码分析 绿色小鸟 - 继续阅读 »
2016-09-10 曹强
什么是反模式 如果我们认为一种模式代表一种最佳实践,那么一种反模式就代表我们已经学到的教训。反模式这个术语是1995年由安德鲁·凯尼格在当年的11月C++报告中创造的,是受“四人组”所著《设计模式》一书的启发。在凯尼格的报告中,他提出反模式的两个概念: 描述一种针对某个特定问题的不良解决方案,该方案会导致糟糕的情况发生; 描述如何摆脱前述的糟糕情况以及如何创造好的解决方案 more 反模式的由来 每一个设计问题都是以在两个实体之间实现平衡为开始的,即:问题的形式和它的上下文。形式是解决问题的方案;上下文定义该问题。 虽然设计模式很重要,但是理解反模式也同样重要。创建应用程序时,一个项目的声明周期就会以此为起点;一旦完成了初 继续阅读 »
2016-10-13 曹强
php
简介 在[PHP设计模式(七):设计模式分类][2]中我们提到过结构设计模式(Structural patterns),结构设计模式专注于设计对象(Object)和实例(Instance)的构建、组合过程。 结构设计模式包括下面七种设计模式: 适配器(Adapter) 桥接(Bridge) 合成(Composite) 装饰(Decorator) 外部(Facade) 轻量(Flyweight) 代理(Proxy) 请无视拗口的中文翻译。结构设计模式着重于低耦合、高复用、高可维护性、高拓展性的设计原则。 适配器模式 适配器模式是一种利用适配器将现有的实现,适配到已有接口的设计模式,最常见的例子就是变压器,将已 继续阅读 »
2016-10-13 曹强
php
原文地址:[PHP设计模式(六):MVC][1] Introduction 20世纪80年代,计算机发展迅速,编程技术也日益分化。桌面应用编程,也逐渐出现了用户图形界面和程序逻辑分离的程序设计。到了90年代,web的出现更是让这种程序设计模式得以延续。 这种设计模式便是MVC(Model-View-Control),除了MVC,还有MVC的变种,如MVVM(Model-View-View-Model)等。 MVC 回到80年代的桌面应用编程,当时面向对象的编程设计模式(见PHP设计模式(一):基础编程模式)兴起,程序员将桌面应用分割成两个大的对象:领域对象(domain objects)和可视对象(presentatio 继续阅读 »
2016-10-13 曹强
php
简介 俗话说,“PHP是世界上最好的语言”,因为PHP什么都能干。但是在PHP编程中,你是否会遇到这样的困惑:明明是相同的需求,但是之前写的代码却并不能重用,稍微修改不满足需求,大改又会让页面变样。 是的,由于PHP什么都能干,但是高度灵活性降低了代码的结构性。虽然可以利用三方框架来解决问题,但问题的根本在于缺乏设计模式。 本系列文章将由浅入深的介绍各种设计模式。 面向对象编程 面向对象编程,Object-Oriented Programming(OOP)作为最基本的设计模式并不是什么新鲜的话题,但是大部分新手的PHP编程都是在写流水账,各种拼接字符串,所以这里还是要提一下。 Object-Oriented Pro 继续阅读 »
2017-05-28 Lanffy
使用java.util.concurrent.ThreadFactory类创建线程 工厂设计模式是Java中最常用的设计模式之一。它是一种创建型设计模式,能够用于创建一个或多个类所需要的对象。有了这个工厂,我们就能集中的创建对象。 继续阅读 »