ITOO---誊写接口

 

 

                                        ITOO---誊写接口

 

目录

一,什么是接口... 

二,为什么用接口?

三, ITOO项目中实例:

1,Service层..

2,B... 

小结:

 

 

 

一,什么是接口


  定义:接口,通俗的说就是一种约定,双方共同达成的一种共识,约定一个规则.也就是


说,接口就是个规范.



    接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操


作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。

     

                                 ITOO---誊写接口_第1张图片

     生活中常用的USB接口,

 

                        ITOO---誊写接口_第2张图片



二,为什么用接口?

  

    1,接口在开发过程中可以快速分离工作内容。

    比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,


是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现


个接口,定义了规范,然后就可以继续他的业务逻辑代码了。



   

       2,实现者可以根据这个接口规范,做具体的实现。

这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。


     


      3,如果规范是通过接口定义的,那么当你这个功能有多个实现时,你只要实现了


这个接口,那么可以快速的替换具体实现,做到代码层面的完全可以分离。


      总结起来就一句话:接口或者规范可以在开发过程中做到分离。

 

 

     软件开发中很重要的一个理念就是“解耦”,接口和接口实现就是在干这件事.

 

 



三, ITOO项目中实例:

  

1,Service层,BasicOrganizationWCFService.cs(service WCF)


<span style="font-size:18px;">#region根据学院名称,返回学院和专业ID+学院和专业Code--何新生+2016-1-22 10:19:48
        ///<summary>
        ///根据学院名称,返回学院ID
        ///</summary>
        ///<paramname="CollegeName">学院专业名称</param>
        ///<returns></returns>
        publicList<BasicOrganizationViewModel>QueryCollegeIDByCollegeName(stringCollegeName)
        {
            List<ViewModel.BasicOrganizationViewModel>listOrganization=basicOrganiztionBll.QueryCollegeIDByCollegeName(CollegeName);
            returnlistOrganization;
        }
        #endregion
 </span>


IBasicOrganizationService.cs(service接口层)


<span style="font-size:18px;">[ServiceContract]  //服务契约
 
#region根据学院名称,返回学院和专业ID+学院和专业Code--何新生+2016-1-22 10:19:48
        ///<summary>
        ///根据学院名称,返回学院ID
        ///</summary>
        ///<paramname="CollegeName">学院名称</param>
        ///<returns></returns>
        [OperationContract] //公开服务
        List<BasicOrganizationViewModel>QueryCollegeIDByCollegeName(stringCollegeName);
        #endregion</span>


 

2,B IBasicOrganizationBll.cs(B层中的接口层)

<span style="font-size:18px;">#region根据学院名称,返回学院和专业ID+学院和专业Code--何新生+2016-1-22 10:19:48
       ///<summary>
       ///根据学院名称,返回学院ID
       ///</summary>
       ///<paramname="CollegeName">学校名称</param>
       ///<returns></returns>
       List<ViewModel.BasicOrganizationViewModel>QueryCollegeIDByCollegeName(stringCollegeName);
       #endregion</span>

 

BasicOrganizationBll.cs (B层中的实现层)

#region根据学院名称,返回学院和专业ID+学院和专业Code--何新生+2016-1-22 10:19:48
 
        publicList<ViewModel.BasicOrganizationViewModel>QueryCollegeIDByCollegeName(stringCollegeName)
        {
            //定义一个新的list
            List<BasicOrganizationViewModel>list1=newList<BasicOrganizationViewModel>();
 
            //调用D层方法
            list1=this.CurrentDal.LoadItems(s=>s.OrganizationName==CollegeName&&s.IsEnabled==1).Select(s=>newBasicOrganizationViewModel() { OrganizationID=s.OrganizationID, SchoolLevelID=s.SchoolLevelID,OrganizationCode=s.OrganizationCode}).ToList();
            returnlist1;
        }
        #endregion
 

 

小结:


   1,小故事

 

 如你去公司面试,一般都会对学历有要求,比如大学本科、硕士研究生等。

“对学历有要求”,这就好比是程序的接口。因为公司招聘是有规章制度的,因此需要


有这么一个进人的规范。

    

    其中对“学历要求”具体不同的内容,这就是接口的实现。比如HR要求人力资源或


行政相关专业,Java开发工程师可能要求计算机相关专业。高级行政管理人员可能要求


MBA学历等等。简单来说,就是不同部门、不同岗位对学历的定义(或者说具体实现)


是不同的。

 


   2,怎么写接口;


    要接口就是: 根据什么要什么. 比如上面的例子,   根据"学院名称"查询"学院的ID,学院


Code和学院的层次".最终在B层实现.其他要的就直接在服务端调用就行了.

 

 

            总结接口就是为了更好的达到高内聚,低耦合.

 

 

你可能感兴趣的:(接口,interface,ITOO,ITOO框架)