项目实践之Facade模式
来源:互联网 发布:电脑软件删不掉怎么办 编辑:程序博客网 时间:2024/05/16 06:22
之前在设计系统架构的时候,除了一些比较熟悉的模式,像Singleton模式、Strategy模式等,并没把《设计模式》这本书的所有模式都了解得很仔细,当时的想法就是尽量做到几点要求:模块尽量功能单一,模块间耦合度要低,要易于扩展。今天在复习《设计模式》这本书的时候,蓦然发现原来设计的很多东西,《设计模式》书上都能找到对应的原型。
《设计模式》一书上讲,Facade模式的意图是: 为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。动机是:是将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使 子系统间的通信和相互依赖关系达到最小。达到该目标的途径之一是就是引入一个外观 (Facade)对象,它为子系统中较一般的设施提供了一个单一而简单的界面。
我们当时的应用也比较简单,主要是为一组应用提供一个数据管理模块,所有需要数据的用户通过该模块获取数据。数据的来源大概分成4类,一是本地内存、二是从网络取(分成两大类,从局域网取数据、从远程服务器取数据)、三是从本地文件 取、四是从数据库取数据(本机数据库、远程数据库) 。如果没有提供这样一个模块,会遇到以下几个问题:一是数据使用者会很麻烦,需要管理数据获取的逻辑。二是不满足模块功能单一的要求。三是复用和扩展性不会太好。简单的类结构图如下(为说明Facade模式,去掉了其余所有的信息):
- 项目实践之Facade模式
- 设计模式之Facade
- 设计模式之Facade
- 设计模式之Facade
- 设计模式之Facade
- 设计模式之Facade
- 设计模式之Facade
- 设计模式之Facade
- 设计模式 之 Facade
- 设计模式之Facade模式
- 设计模式之facade模式
- 结构性模式之Facade模式
- 设计模式之Facade模式
- 设计模式之Facade模式
- 设计模式之--Facade模式
- 设计模式之facade模式
- 项目实践之Singleton模式
- 设计模式之Facade(外观)
- ArrayList应用举例
- pthread_cond_write
- .playvideobyvideoview
- 【练习01】 简单题(1)1012
- c语言基本数据类型
- 项目实践之Facade模式
- 【Delphi】Webbrowser加载Flash后方向键失效问题
- android 驱动有关的类和宏
- 使用IntelliLock加密授权你的.Net程序
- Windows Azure Mobile Services增加了对 Android的支持并扩展其适用范围至东亚地区
- MFC 获取当前活动窗口的句柄
- recv() failed (104: Connection reset by peer) while reading response header from upstream
- JAVA定时调度框架Quartz使用案例
- HashSet应用举例