设计适用于SOA的类型
 [Serializable]
    public class WObject
    {
        public WObject() { }
        /// <summary>
        /// 返回值
        /// </summary>
        private object objRet;
        #region 错误信息
        private String _ErrCode = "";
        /// <summary>
        /// 错误码
        /// </summary>
        public String ErrCode
        {
            get { return _ErrCode; }
            set { _ErrCode = value; }
        }
        private String _ErrMsg = "";
        /// <summary>
        /// 错误信息
        /// </summary>
        public String ErrMsg
        {
            get { return _ErrMsg; }
            set { _ErrMsg = value; }
        }
        /// <summary>
        /// 获取错误信息
        /// </summary>
        public String GetFullMsg
        {
            get { return string.Format("{0}|{1}", ErrCode, ErrMsg); }
        }
        /// <summary>
        /// 响应结果是否错误
        /// </summary>
        public bool IsError
        {
            get { return (!string.IsNullOrEmpty(this.ErrCode) || !string.IsNullOrEmpty(this.ErrMsg)); }
        }
        #endregion
        #region 序列化/反序列化
        public string ToJson()
        {
            return JsonConvert.SerializeObject(this);
        }
        public static T FromJson<T>(string sJson) where T : WObject
        {
            return JsonConvert.DeserializeObject<T>(sJson);
        }
        #endregion
    }
WObject
这里序列化和反序列化,我用 Json.Net。
 public class WString : WObject
    {
        /// <summary>
        /// 默认构造函数
        /// </summary>
        public WString() { }
        public WString(params string[] strs)
        {
            sRet = string.Concat(strs);
        }
        public WString(params object[] strs)
        {
            sRet = string.Concat(strs);
        }
        /// <summary>
        /// 返回值
        /// </summary>
        public string sRet = "";
    }
WString
错误信息和序列化,都是放在基类里面的,所以这里我只需要定义一个返回值。
因为经常拼接字符串,所以就在构造函数里面添加了可变参数,这样在实例化的时候就方便了一些。








设计适用于SOA的类型的更多相关文章
- 设计适用于SOA的类型(二)
		
接着上次的,以扩展String类型为例,继续根据自己的使用习惯闭门造车! 这一次我重载了运算符 = 和 + ,我觉得这样更方便我的使用.首先先贴代码: /// <summary> // ...
 - IDDD 实现领域驱动设计-SOA、REST 和六边形架构
		
上一篇:<IDDD 实现领域驱动设计-架构之经典分层> 阅读目录: SOA-面向服务架构 REST 与 RESTful 资源(Resources) 状态(State) 六边形架构 DDD ...
 - 结合领域驱动设计的SOA分布式软件架构
		
引言 本文主要是参考Martion Fowler所著的<企业应用架构模式>与Eric Evans所著的<领域驱动设计>这两本泰山之作,加上本人在近年实际的工作过程中开发SOA系 ...
 - 网页设计实战3 ufo类型的科技网页如何实现
		
网页设计实战3 ufo类型的科技网页如何实现 一.总结 一句话总结:基础的图片素材就是如何几张图片,这个效果只是通过jquery或者js让那个png图片旋转起来了,如此而已.其实核心就是一个trans ...
 - WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口
		
原文:WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口 当我们对 Window 类型写一个附加属性的时候,在属性变更通知中我们需要判断依赖对象是否是一个窗口.但是,如果直接判断是否是 W ...
 - 给公司部门设计的SOA架构
		
新来老大年前开会说各位同学,公司业务越来越重,未来几年要成倍增长......,要梳理出一套新架构,才能更好的支持N万用户.....,以后升职加薪当上....打败..... 想想还有点小激动呢,于是过年 ...
 - 设计的SOA架构
		
新来老大年前开会说各位同学,公司业务越来越重,未来几年要成倍增长......,要梳理出一套新架构,才能更好的支持N万用户.....,以后升职加薪当上....打败..... 想想还有点小激动呢,于是过年 ...
 - 给公司部门设计的SOA架构(转)
		
新来老大年前开会说:各位同学,公司业务越来越重,未来几年要成倍增长......,我们要梳理出一套新架构,才能更好的支持N万用户.....,以后升职加薪当上....打败..... 想想还有点小激动呢,于 ...
 - 互联网产品设计常用文档类型-BRD、MRD、PRD、FSD (
		
BRD Business Requirements Document,商业需求文档.这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们 ...
 
随机推荐
- Nyoj   虚拟的城市之旅(bfs)
			
描述 展馆是未来城市的缩影,个人体验和互动是不变的主题.在A国展馆通过多维模式和高科技手段,引领参观者在展示空间踏上一段虚拟的城市之旅. 梦幻国有N个城市和M条道路,每条道路连接某两个城市.任意两 ...
 - C# 你不能调用的问题剪贴板线程
			
最近在做一个项目,需要使用线程,并使用剪贴板,头发得到较少的数据在剪贴板上后,现在的孩子线程创建一个子线程,我特别困惑,上网查资料.最后,得到最终的.下面的例子现在将概括解: 第一步: public ...
 - PsExec.exe执行远程程序
			
PsExec.exe \\192.168.1.1 -u username -p password -i -d -s c:\Windows\system32\NETSTAT.exe -a
 - Topcoder SRM 628 DIV 2
			
被自己蠢哭了.... 250-point problem 国际象棋棋盘上给出两个坐标,问象从一个走到还有一个最少要几步. 黑格象仅仅能走黑格,白格象仅仅能走白格,仅仅要推断两个坐标的颜色是否同样就能推 ...
 - Java业务原子性的一种实现(key 独占访问)
			
开发过程中,有时候为了解决多线程竞争问题需要加锁,通常锁定的对象是class,object,method,但在特定时候我们需要更细粒度的加锁,也就是根据不同输入参数来锁定不同的资源,这样只有调用此方法 ...
 - 多线程学习之二坚不可摧模式Immutable pattern
			
Immutable pattern[坚不可摧模式] 一:immutable pattern的参与者--->immutable(不变的)参与者 1.1:immutable参与者是一个 ...
 - 使用python的Flask实现一个RESTful API服务器端
			
使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...
 - 记录一下Fedora21下安装Foundation5遇到的问题[尚有遗留问题]
			
写在前面:之前安装过了gem,所以下面的步骤没有这一过程,再有就是忘记哪一步需要ruby中的一个.h文件.可以使用如下命令解决 sudo yum install ruby-devel ------ S ...
 - OCP-1Z0-051-题目解析-第1题
			
1. View the Exhibit and examine the structure of the SALES, CUSTOMERS, PRODUCTS, and TIMES tables. T ...
 - leetcode第11题--Container With Most Water
			
Problem: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate ...