zoukankan      html  css  js  c++  java
  • (原创)面向对象的系统对接接口编写。第3篇

     接上一篇: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

    如果看完,有不明白的可以评论发给我。

    真的很好用的。。有需要做接口的同学。。可以把整个框架拿去用下。

    提供源码下载,请点击:源码

  • 相关阅读:
    股票F10
    什么是盘口?
    CompletionPort
    WSAEvent
    SO_KEEPALIVE选项
    SO_LINGER
    shutdown和close的区别
    TIME_WAIT和CLOSE_WAIT状态区别
    什么是2MSL
    WSAStartup function
  • 原文地址:https://www.cnblogs.com/mazhiyuan/p/5224050.html
Copyright © 2011-2022 走看看