对于模式的思考

一是确定那些知识是需要掌握的,第二则是如何掌握。Pattern无疑是需要学习的,但事实是它很容易被遗忘,却很难在实际工作中熟练地运用。

方法就是将解决问题的模式与实际中某个重要的应用match起来。

1)Structural Pattern:

  •  Decorator, Proxy, Bridge

              它们有一个共同特点,就是采用这些模式的客户端都以间接方式来访问提供服务的对象。以Proxy为例,Proxy广泛

               应用在Java的RMI,MS的RPC,WCF中。

              通过Proxy隐藏了对象的marshal, 网络的传输使得客户端可以象使用local object一样来访问。

  •  Composite, Flyweight

 

  •   Adapter, Facade

           Type Library就是一个适配器层,通过它VB可以访问C++编写的COM组件。Automation也是一个Adapter, 通过它脚本语言

           也可以访问COM组件。

           比如C++ Standard Library中的容器类采用Adapter模式可实现内部使用同一个容器类,对用户提供

           Stack, queue, priority_queue等多种容器。

2)  Behavioral Pattern:

  •  Strategy, State, Template method

          这些模式基本上都是对问题本质的抽象,比如Strategy模式。以delegate为参数,例如delegate int calc(int x,int y) ;

          由客户端来决定实际要执行的操作,可以将两个参数相加,也可以想减等等。这样服务器端的对象可以很好的处理客户

          需求的变化。

  • Chain of Responsibility, Command

         

  • Iterator, Mediator, Observer

         Iteraotr对于Java和.NET中的集合类都非常重要。对集合中的对象进行遍历是一个非常常见的操作。

         Observer是一个重点。MVC可以说就是此模式的一个典型应用。MVC无论是在web开发还是在桌面开发现在都是最主流的。

         例如ASP.NET MVC, WPF中的MVVM。JAVA 中的struts等。

  • Visitor, Interpreter, Memento

         

3) Creational Pattern:

  • Prototype, Factory Method, Singleton

 

  • Abstract Factory, Builder

        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值