接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224049.html
講一下Factory.cs工廠類
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。。他表示的意思是“成功”。
當你願意看到這裡時,後續還有4篇:下面是連結:
(原創)多系統間需要對接,我寫了一個介面框架。實用性非常強,寫出來大家交流。需要的可以直接搬過去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html
(原創)物件導向的系統對接介面編寫。第2篇 http://www.cnblogs.com/mazhiyuan/p/5224049.html
(原創)物件導向的系統對接介面編寫。第3篇 http://www.cnblogs.com/mazhiyuan/p/5224050.html
(原創)物件導向的系統對接介面編寫。第4篇 http://www.cnblogs.com/mazhiyuan/p/5224054.html
(原創)物件導向的系統對接介面編寫。第5篇(完結) http://www.cnblogs.com/mazhiyuan/p/5224056.html
如果看完,有不明白的可以評論發給我。
真的很好用的。。有需要做介面的同學。。可以把整個框架拿去用下。
提供原始碼下載,請點選:原始碼