系统有一个子系统“系统管理子系统”,在它其中有两个类。一个是“SystemUersManage(系统用户管理类)”实现增、删、改、查“系统用户”的功能。一个是“ExpertManage(专家用户管理类)”实现增、删、改、查“专家用户的功能”。问题一:“SystemUersManage(系统用户管理类)”和“ExpertManage(专家用户管理类)”这两个类应该用在“三层”(UI、BLL、DAL)的那一层???为什么???现在想为“系统管理子系统”定义一个接口,通过这个接口,“其它子系统”可以访问“系统管理子系统”中的“SystemUersManage(系统用户管理类)”和“ExpertManage(专家用户管理类)”,并实现对应的“增、删、改、查”的功能。(子系统间通过接口相互访问)
问题二:应该怎样定义接口,才可以将“SystemUersManage(系统用户管理类)”和“ExpertManage(专家用户管理类)”发布出去,让“其它子系统”可以访问???问题三:定义的接口应该用在那一层???谢谢大家,尽量详细点哈。
问题二:应该怎样定义接口,才可以将“SystemUersManage(系统用户管理类)”和“ExpertManage(专家用户管理类)”发布出去,让“其它子系统”可以访问???问题三:定义的接口应该用在那一层???谢谢大家,尽量详细点哈。
也不用我们说 自己知道怎么放了三层就是层与层的 分工你说的是业务 还是 数据访问? 抑或 UI?问问题的基础是 你对问题的 认识
先学懂三层的概念很重要!
另外给楼主推荐两个链接
http://www.cnblogs.com/gaoweipeng/archive/2009/01/18/1377855.htmlhttp://wenku.baidu.com/view/35c91d8884868762caaed5b5.html
你的其他子系统是什么意思?暴露的接口形如:C# code public interface ExpertManageOperation { IExpertManage Get(object query); void SaveOrUpdate(IExpertManage obj); void Delete(IExpertManage obj); }上面的接口声明也用在 DAL 层;同时在 DAL 层声明 IExpertManage 作为实体的接口然后在 BLL 层来提供具体实现 IExpertManage 的类
上面你说的只是功能模块的划分,与层次没关系的!
UI,业务,数据等的关系现在整清楚再考虑分层吧
http://topic.csdn.net/u/20110921/21/057a6fed-25be-44c0-b5e5-9921be3e5244.html
问题二:在这里说下接口的意义:接口简单理解就是一种约定,你要定义什么样的接口你自己决定,然后让继承接口的类去实现就可以了。比如你定义一个IFly接口,直接下面继承这个接口的爱怎么飞就怎么飞。
问题三:你可以建立一个类库,专门用于存放接口。 记住接口就是一种约定。个人建议:继承,抽象类,接口这些东西一定搞明白。说白了就是面向对象。
简单的举例:
UI层,显示当前用户,并告诉BLL层,我需要修改这个用户的密码
BLL层,获得UI层传入的用户,检查相关权限或者关联数据,通过dal层提交到数据库。然后返回给UI层。
UI层,获得结果后,重新刷新用户,或弹出提示。
BLL层,获得UI层传入的用户,检查相关权限或者关联数据,传入相关参数到dal层
dal层,数据提交到数据库。然后返回给UI层。
UI层,获得结果后,重新刷新用户,或弹出提示。