- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OA系统业务逻辑层设计中PC模式
OA系统业务逻辑层设计中PC模式
摘要:提出一种可用于OA系统业务逻辑层的Post/Choose(P/C)信息处理模式,阐明它的工作原理,并用它设计OA系统中较为复杂的业务流程管理,简化OA系统逻辑层的设计工作,提出0A系统业务逻辑层的一种通用设计框架,说明其特点。
关键词:P/C模式;OA系统;业务逻辑层
中图分类号:TP391 文献标识码:A 文章编号:1671-7597(2010)1210067-01
0、引 言
目前有一些基于B/S三层结构的OA系统的业务逻辑层做得太薄,而且与表示层(例如页面)和数据库耦合得太紧密,大多数的代码采用复制粘贴式编写,代码重用不够,不便于维护与扩展。
一部分开发者还是按结构化方法编写OA,把OA划分为诸如主框架,系统管理,人事管理,项目管理,文档管理,用户管理,邮件系统,日程管理,公文流转等几大模块,再与服务器页面文件对应,如ASPX页面,PHP页面,JSP页面等,并且在页面代码中直接访问数据库,几乎没有中间层。
分析OA系统的各个功能模块,特别是邮件管理,发现存在着一种信息处理的模式,即发送者发出一封信件(letter),接收者收到这封信,根据情况可能还要回信,而回信也是一个发送与接收的过程,再深入的分析可以发现信件并不是直接送给收信者,而是投递(Post)到信箱(Post-Box)中(这个信箱可以由数据库实现),而接收者根据信封(envelop)上的接收者分拣(Choose)出这封信。这是一种投递分拣的信息处理方式,以下称为P/C模式。
把上述P/C模式推广到OA系统传统意义上的各个功能模块,可以发现仍然适用。如人事管理,管理员增加一个员工的信息,可以看作管理员向所有能查看员工信息的人发了一封信件,删除一个员工的信息也是这样;人事管理中增加一名经理的信息,可以看作是向特定的一群人发了一封信,告诉某人担任了经理;即使是私人的个人日程管理中增加一条记录也可以看作是某人向自己发了一封信件。
在这种模式中,信箱其实是数据库中的表或视图在P/C层的一个对应的对象,但是信箱对象比数据表来说具有更多的可操作的属性和方法。
相对较为复杂的公文流转(流程管理)也可以看作预定了接收人的一系列的P/C过程。
OA系统中应该还有一类功能不涉及到信息的传递,如有一份记录了所有员工信息的表格,求出员工的平均年龄,这时候就不需要P/C模式,其它的独立工具如EXCEL这样的软件可以方便的实现这种功能。
如果需要求出在数据库中的员工的平均年龄,还是可以使用P/C模式的,这时可以引入虚拟信箱的概念,往虚拟信箱中投递一封信,信的内容是员工的平均年龄,当然信的内容不是一条员工的基本信息那样简单,而是通过数据访问层调用的存储过程得到的一个平均年龄。
1、OA业务逻辑层P/C模式的基本对象与基本操作
OA系统的业务的业务逻辑层主要是用来实现系统的各个具体业务,但是为了避免业务逻辑层与数据访问层甚至数据表的直接耦合,我们可以在具体业务与数据访问层之间引入投递/分拣模式(P/C模式)投递/分拣模式层中的基本对象有:信息节点(node)集合,信件(letter),信封(envelop),邮箱(post-box),流程(flow)一种P/C的控制,按一系列规定的路径进行P/C的过程。基本操作有:投递(Post),分拣(Choose)。有了这两种方向的信息通道,就可以极大的简化信息网络的组织过程。例如原来有n个用户要进行双向交流,按传统模式要组织n*(n-1)个通信过程,现在按照P/C模式则只需要2*n个通信过程。
2、使用P/C模式的OA结构
图2.1给出了一种常见的模块化设计的OA系统,在这种设计中,用户,角色,部门对象并不存在,只是每个功能模块中的一些全局变量或公共类的一些属性,它把功能模块和数据库中的表紧密地绑在了一起,每个功能模块的主要功能就是对相应的数据表进行查询,增加,修改,删除操作。
例如人员管理功能模块就是对人员信息表的一些基本操作。更为低效的是它为每个功能模块都定义了数据访问对象,而每个数据访问对象都是调用不同的存储过程对相对应的数据表操作,这些数据访问对象的功能大同小异,有的仅仅只是操作的数据表不同,却定义成不同的对象,这样的软件代码重用很低,而且可维护性也不好,因此可以做如图2.2所示的改进。
把数据访问模块组合成一个,这样所有的数据库操作只有一个出口和一个入口,代码充分重用,便于维护。但是我们看到,功能模块其实还是和数据表紧密耦合,功能模块作为逻辑层的实体仍然存在大量的相似代码,而且网页和功能模块紧密耦合,修改网页就要修改对应的功能模块,反之亦然。
文档评论(0)