[最新版] - 毕业设计说明书-样本4546880 - 图文(4)
进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。
基于以上优点本系统也采用三层架构设计,其工作原理如下图3-2所示:
图3-2 人力资源系统三层架构
采用三层架构后,用户截面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则处理请求后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层的开发要求,因为它根本不需要进行任何的数据库的操作。上面图中代码隐藏页通过返回对象的形式来返回数据,在类的内部可以规定哪些数据可访问,哪些数据是只读的等,从而通过封装数据达到再一次提高数据安全性的目的。 3.1.2 工厂模式
专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类或接口。简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件参数)来返回不同的类的实例,如图3-3所示。
参与者:
(1)工厂角色(Creator)
是简单工厂模式的核心,它负责实现创建所有具体产品类的实例。工厂类可以被外界直接调用,创建所需的产品对象。
(2)抽象产品角色(Product)
是所有具体产品角色的父类,它负责描述所有实例所共有的公共接口。 (3)具体产品角色(Concrete Product)
继承自抽象产品角色,一般为多个,是简单工厂模式的创建目标。工厂类返回的都是该角色的某一具体产品。
简单工厂模式根据提供的参数返回具体相同方法的不同类的实例。这些类可以是派生于相同基类的类,也可以是相互之间没有任何关系,只是共享了相同接口的类。前提是:类实例中的方法必须是相同的,并且能够被交替使用。
图3-3 简单工厂模式
3.1.3 Microsoft .Net Remoting 技术
本系统采用Remoting技术是实现数据的分布式处理,利用工厂模式实现系统的“封装机制”。
什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。
在Remoting中通过通道(channel)来实现两个应用程序域之间对象的通信的。对于要传递的对象,我们只需要了解通道的类型和端口号之外,无需再了解数据包的格式。但必须注意的是,客户端在获取服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。这既保证了客户端和服务器端有关对象的松散耦合,同时也优化了通信的性能。如图3-4所示:
图3-4 Remoting技术
服务器端
? 远程对象的激活
客户端通过通道来创建远程对象,称为对象的激活。在Remoting中,远程对象的激活分为两大类:服务器端激活和客户端激活。
服务器端激活,又叫做WellKnown方式,很多又翻译为知名对象。为什么称为知名对象激活模式呢?是因为服务器应用程序在激活对象实例之前会在一个众所周知的统一资源标识符(URI)上来发布这个类型。然后该服务器进程会为此类型配置一个WellKnown对象,并根据指定的端口或地址来发布对象。.Net Remoting把服务器端激活又分为Singleton模式和SingleCall模式两种。
(1)Singleton模式:此为有状态模式。如果设置为Singleton激活方式,则Remoting将为所有客户端建立同一个对象实例。当对象处于活动状态时,Singleton实例会处理所有后来的客户端访问请求,而不管它们是同一个客户端,还是其他客户端。2)
Singleton实例将在方法调用中一直维持其状态。举例来说,如果一个远程对象有一个累加方法(i=0;++i),被多个客户端(例如两个)调用。如果设置为Singleton方式,则第一个客户获得值为1,第二个客户获得值为2,因为他们获得的对象实例是相同的。如果熟悉Asp.Net的状态管理,我们可以认为它是一种Application状态。本系统中就采用了该模式。
(2)SingleCall模式:SingleCall是一种无状态模式。一旦设置为SingleCall模式,则当客户端调用远程对象的方法时,Remoting会为每一个客户端建立一个远程对象实例,至于对象实例的销毁则是由GC自动管理的。同上一个例子而言,则访问远程对象的两个客户获得的都是1。仍然可以借鉴Asp.Net的状态管理,认为它是一种Session状态。
由于本系统采用的是服务器端激活的方式所以客户端激活方式在这就不多说了。
? 远程对象的定义
Remoting传递的对象是以引用的方式,因此所传递的远程对象类必须继承MarshalByRefObject,MSDN
对
MarshalByRefObject
的说明是:
MarshalByRefObject 是那些通过使用代理交换消息来跨越应用程序域边界进行通信的对象的基类。不是从 MarshalByRefObject 继承的对象会以隐式方式按值封送。当远程应用程序引用一个按值封送的对象时,将跨越远程处理边界传递该对象的副本。因为您希望使用代理方法而不是副本方法进行通信,因此需要继承MarshallByRefObject。
在Remoting中的远程对象中,如果还要调用或传递某个对象,例如类,或者结构,则该类或结构则必须实现串行化Attribute[SerializableAttribute]。
将该远程对象以类库的方式编译成Dll。这个Dll将分别放在服务器端和客户端,以添加引用。
客户端
? 注册通道
IChannel channel1 = new TcpClientChannel (\new BinaryClientFormatterSinkProvider ());
ChannelServices.RegisterChannel (channel1, false); ? 获得远程对象
本系统中采用的是WellKnown激活模式要获得服务器端的知名远程对象,在工厂类中可通过Activator进程的GetObject()方法来获得:
如:
=
baseurl
+
ConfigurationManager.AppSettings
[\
IEmployee employee = (IEmployee) Activator.GetObject (typeof (IEmployee), url);
其中参数第一个是远程对象的类型。第二个参数就是服务器端的Uri。Uri有2部分组成,由于是本地计算机所以前半部分用:8080,也可以用具体的服务
器IP地址来代替它。端口必须和服务器端的端口一致。后半部分则是服务器定义的远程对象服务名。
3.2 系统总体功能模块设计
经过对整个系统的分析,可以得出以下功能模块,如图3-5所示: 1. 职员管理—职员基本信息模块:检索当前启用的组织结构相关的部门及员工信息。
2. 职员管理—人事事务模块:进行职员转正及离职等管理。
3. 职员管理—合同管理模块:员工用合同管理功能,可以新建、修改、删除员工合同,也可以对员工合同作“续签”、“变更”、“终止”、“解除”等操作。
4. 组织管理—组织结构模块 :检索查看不同组织下的部门树及部门信息。修改删除组织和部门信息。 …… 此处隐藏:1684字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




