最近项目中flex数据访问使用的设计思想

本文介绍了使用Flex访问SQLite数据库的数据层设计思路。通过主管模式实现了数据库访问的统一控制,并结合工厂模式、抽象工厂模式及贫血模型等进行数据层设计。此外,还详细解释了服务类如何基于工厂模式和字典模式工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 如图所示:

 

 

 

数据层是单独设计的。为了避免数据库相关性在软件中扩散,采用了主管模式进行了数据层的设计,对程序数据库访问进行了统一的控制——其实这个设计方式已经在各种系统中广泛的存在了。所谓主管模式,很形象化的理解就是一个管家,就像你的家有一个管家,那么所有你需要的东西都可以找管家要了,你根本不需要知道一碟菜是什么东西做出来的,只需要知道找管家就是了。

相对于整个系统而言,数据层采用的是主管模式,而在这一层设计的时候,又分别采用了其它的细致的设计模式。工厂与抽象工厂模式,这个在数据层设计时已经存在,通过ConnectionManager.as这一主管模式的具体类实现供外部使用者程序调用。IConnectionFactory.as即为主管的被管理者,而IConnectionFactory.as的产品IConnection.as又只能为IConnectionFactory.as所制作产生。Impl提供了一个这一抽象设计基于sqlite的具体实现。

  除了以上的独立于具体系统应用的数据访问层外,数据层还有一个重要的逻辑组成部分dbm。这是与程序逻辑相关的部分,提供了程序逻辑相关的数据类及其服务。每一个数据类对应一个相关的服务类,每一个服务类专门为一个数据类提供服务,其中数据类只存储数据,服务类管理数据类与数据库的关系。这种数据类简单服务类复杂的设计模式就是贫血模型了。同时这里服务类的组成其实基于的是工厂模式以及字典模式的应用。工厂模式其实在这里存在的比较隐秘,因为这个类名是XXservice,但我们仔细观察它的表现就可以知道它本质上就是一个工厂了:它为获取某个数据对象提供了唯一的获取方式,并且具体获取到的对象类型使用者并不清楚(只知道其基类,后期修改时可以通过基层方式简化程序的扩展),这就是工厂的特征表现了。字典模式表现在哪里呢?我们留意一下,所有数据对象与数据库的映射只有service才知道,外界根本不知道此对象在数据库的具体存放方式,那么其实这一service就可以认为是一个字典了。

所写的这个flex访问sqlite的这个类库工程可以在这里下载:http://download.youkuaiyun.com/source/945170

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值