接上一篇: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
如果看完,有不明白的可以评论发给我。
真的很好用的。。有需要做接口的同学。。可以把整个框架拿去用下。