系统有一个子系统“系统管理子系统”,在它其中有两个类。一个是“SystemUersManage(系统用户管理类)”实现增、删、改、查“系统用户”的功能。一个是“ExpertManage(专家用户管理类)”实现增、删、改、查“专家用户的功能”。现在想为“系统管理子系统”定义一个接口,通过这个接口,“其它子系统”可以访问“系统管理子系统”中的“SystemUersManage(系统用户管理类)”和“ExpertManage(专家用户管理类)”,并实现对应的“增、删、改、查”的功能。请问,应该怎样定义接口,才可以将“SystemUersManage(系统用户管理类)”和“ExpertManage(专家用户管理类)”发布出去,让“其它子系统”可以访问???谢谢大家,尽量详细点哈。

解决方案 »

  1.   

    定义成webservice就行了嘛,或者简单的web页面去定义也可以呀
      

  2.   

    发布出去,让“其它子系统”可以访问?这是个什么意思?
    发布出去,当然要编译为一个程序集,就是DLL文件了,然后拷给他们用呗。用接口开发的意思是他们开发不受你的影响,你们协商实现一致的接口,就是双方讨论好需求后,根据需求写一个程序集,这个程序集只有接口的定义,(可能还需要定义一些实体,不是必须)。编译为DLL后你们一人一份拿回来。然后你的项目引入这个接口DLL,实现这些接口。
    而他们也引入这个接口文件,不过比你复杂一些,不能根据以前的写法直接new SystemUersManage一个类出来用来,而是根据需要要配置一下Ioc,让所谓的控制反转,依赖倒置。
      

  3.   

    定义一个接口(包括增删改查的方法)
    SystemUersManage、ExpertManage分别实现接口
    其他地方就可以通过接口来访问你上面两个类的成员
      

  4.   


    你的答复。
    涉及直接数据的操作都在数据层(DAL)
    你的其他子系统是什么意思?暴露的接口形如:C# code    public interface ExpertManageOperation { IExpertManage Get(object query); void SaveOrUpdate(IExpertManage obj); void Delete(IExpertManage obj); }上面的接口声明也用在 DAL 层;同时在 DAL 层声明 IExpertManage 作为实体的接口然后在 BLL 层来提供具体实现 IExpertManage 的类
      

  5.   

    不知道你的子系统是其他的项目还是在一个项目中,在同一个项目中可以直接引用的啊。如果在其他的项目中,要么就使用生成好的DLL。要么就写一个webService来实现吧。