要弄清楚“模式”一词,首先我们得查一查辞典,在金山词霸中可以查到以下解释:“拉丁词根pat父亲的.pattern因父是子的“模型””这里提到了很关键的两个部分,一是模型,二则是父与子.下面让我们来看个示例.
架构(architecture) 设计(design)如果根据其用途划分,那么就可以划分出许多种来,其中一些为以下几类: 【程序编程相关:编译原理学习导论】
张三生病了,让李四做他的职代,这一天中李四就必须要接管张三的工作,但做不做好,那就是李四的事了,张三也管不了那么多了.这就是一个模式,一个代理模式,同样拥有这个模式的例子是假如adidas公司要在中国找一个代理商销售它的品牌,只要你代理商只从adidas那儿拿货就可以了.在买货的时候,客户所看到的是adidas的品牌,而不会去在意是在哪个adidas的代理商那里买到的.以上所举的两个例子,就是代理模式的典型例子,那么为什么说代理模式是一个模式呢?因为在上面这两个例子中我们有“模型”,也就是代理这个职责需要实现的一套逻辑;我们有“父与子”,父则是代理的逻辑,子则是所有能运用到这个职责的对象,在上面的例子中就是张三李四与adidas-adidas的代理商.可以看出,子可以由许多许多根本不相关的对象组成,但子运用父的模型.
模式可以根据不同的行业被划分成许多的种类,在软件工程中,模式可以根据它的特性或用途划分,如果按照特性来划分,那么通常是以下几大类: 【推荐阅读:VI的常见使用技巧】
页面展示(web presentation) 部署(deployment) 性能(performance) 分布式系统(distributed system) 服务模式(services pattern) 数据移动模式(data movement patterns)前面提到的代理模式就是一个设计模式,它的用途很广,很难以其用途划分,不过它的一些特殊案例却可以以用途划分,比如远程代理模式(remote proxy),远程代理模式将远程调用的对象很好的在客户端隐藏起来,使用户不必知道它是在远程调用,很显然按照用途划分的话它应当属于分布式系统(distributed system)类的模式.
... 下一页