(原創)面向對象的系統對接接口編寫。第3篇 (原創)多系統間須要對接,我寫了一個接口框架。實用性很是強,寫出來你們交流。須要的能夠直接搬過去用。(第1篇) (原創)面向對象的系統對接接口編寫。第2篇

 接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224049.html


講一下Factory.cs工廠類

圖片

圖片

html

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ZGMZ.UIL.App
{
    /// <summary>
    /// app功能入口
    /// </summary>
    public class Factory
    {
        private Factory() { }
        private static Factory factory = new Factory();
        /// <summary>
        /// app工廠
        /// </summary>
        /// <returns></returns>
        public static Factory AppFactory()
        {
            return factory;
        }
        /// <summary>
        /// 返回:用戶操做入口
        /// </summary>
        /// <returns></returns>
        public ZGMZ.UIL.App.User.Index GetUserFacade()
        {
            return ZGMZ.UIL.App.User.Index.GetInstance();
        }
        /// <summary>
        /// 返回:新聞操做入口
        /// </summary>
        /// <returns></returns>
        public ZGMZ.UIL.App.News.Index GetNewsFacade()
        {
            return ZGMZ.UIL.App.News.Index.GetInstance();
        }
        /// <summary>
        /// 返回:品牌操做入口
        /// </summary>
        /// <returns></returns>
        public ZGMZ.UIL.App.Brand.Index GetBrandFacade()
        {
            return ZGMZ.UIL.App.Brand.Index.GetInstance();
        }
        /// <summary>
        /// 返回:通用方法操做入口
        /// </summary>
        /// <returns></returns>
        public ZGMZ.UIL.App.Common.Index GetCommonFacade()
        {
            return ZGMZ.UIL.App.Common.Index.GetInstance();
        }
        /// <summary>
        /// 返回:羣操做入口
        /// </summary>
        /// <returns></returns>
        public ZGMZ.UIL.App.Group.Index GetGroupFacade()
        {
            return ZGMZ.UIL.App.Group.Index.GetInstance();
        }
    }
}

 

 

代碼解說 :
private Factory() { }    聲明這是個私有的構造函數,不能夠被外部實例化
public static Factory AppFactory()    內部返回factory的實例化對象。這是一個靜態的,一旦實例化,在生命週期內,會一直在內存中,不用一直重複建立和釋放實例。
public ZGMZ.UIL.App.User.Index GetUserFacade()    取各模塊的操做入口。返回的是該模塊的實例對象。好比這個代碼,返回的是用戶模塊的實例對象。之後接口凡是要調用與用戶相關的部分,都從這個工廠入口進 入。不會有第2個入口。



接着講Code.cs文件:

圖片

圖片

服務器

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ZGMZ.UIL.App
{
    /// <summary>
    /// 返回的代碼集合
    /// </summary>
    /// <creator>馬志遠</creator>
    public sealed class Code
    {
        private Code() { }
        /// <summary>
        /// 消息ID
        /// </summary>
        /// <author>馬志遠(Marc)</author>
        public string CodeId { get; private set; }
        /// <summary>
        /// 消息描述
        /// </summary>
        public string Description { get; private set; }
        /// <summary>
        /// 構造函數
        /// </summary>
        /// <param name="productType"></param>
        /// <author>馬志遠(Marc)</author>
        public Code(string codeId, string descripion)
        {
            this.CodeId = codeId;
            this.Description = descripion;
        }
        public static readonly Code Success = new Code("100", "成功");
        #region 200錯誤系列是基礎性的
        public static readonly Code Fail = new Code("200", "失敗");
        public static readonly Code FailActionIsNull = new Code("201", "參數Action必須");
        public static readonly Code FailActionIsNotExists = new Code("202", "參數Action傳值不正確");
        public static readonly Code FailHttpMethodError = new Code("203", "Http請求方式不正確");
        public static readonly Code FailParameterFormatIsNotValid = new Code("204", "參數格式不正確");
        public static readonly Code FailParameterIsNull = new Code("205", "參數未賦值");
        public static readonly Code FailDeserialize = new Code("206", "反序列化失敗");
        public static readonly Code FailEntityIsNotGet = new Code("207", "對象未獲取");
        public static readonly Code FailEntityIsExists = new Code("208", "數據已經存在");
        public static readonly Code FailMoreEntity = new Code("209", "存在多條記錄");
        #endregion
        #region 300錯誤系列是關於用戶的
        public static readonly Code FailMobileIsRegisted = new Code("300", "手機號已經註冊");
        #endregion
        public static readonly Code FailServer = new Code("500", "服務器內部錯誤");
    }
}

 

 

代碼細說:
這個Code.cs文件,做用就一個:定義相應的消息碼以及說明。

public sealed class Code    聲明這個類是不能夠被繼承的。
private Code() { }    聲明這個類是私有的,不能夠被外部實例化。
public string CodeId { get; private set; }    定義一個消息碼的屬性訪問器。
public string Description { get; private set; }    定義一個消息說明的屬性訪問器。
public Code(string codeId, string descripion)    定義一個構造函數
public static readonly Code Success = new Code("100", "成功");    而後就是一系列的自定義消息碼了。本代碼的意思是,約定一個消息碼爲100。。他表示的意思是「成功」。app

 

 

當你願意看到這裏時,後續還有4篇:下面是連接:框架

(原創)多系統間須要對接,我寫了一個接口框架。實用性很是強,寫出來你們交流。須要的能夠直接搬過去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html函數

(原創)面向對象的系統對接接口編寫。第2篇 http://www.cnblogs.com/mazhiyuan/p/5224049.htmlpost

(原創)面向對象的系統對接接口編寫。第3篇 http://www.cnblogs.com/mazhiyuan/p/5224050.htmlthis

(原創)面向對象的系統對接接口編寫。第4篇 http://www.cnblogs.com/mazhiyuan/p/5224054.htmlurl

(原創)面向對象的系統對接接口編寫。第5篇(完結) http://www.cnblogs.com/mazhiyuan/p/5224056.htmlspa

 

若是看完,有不明白的能夠評論發給我。3d

 

真的很好用的。。有須要作接口的同窗。。能夠把整個框架拿去用下。

 

 

提供源碼下載,請點擊:源碼

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息
相關文章