领域类,业务逻辑类及其映射

来源:互联网 发布:淘宝名气最高的杂货店 编辑:程序博客网 时间:2024/05/20 07:15
<span style="font-size:18px;">namespace ConsoleBackgroundWorker{    //一般在项目中会有领域实体类以及对应的业务逻辑实体类    //领域实体了一般体现相应数据库中的字段    //而业务逻辑实体类则不仅包括领域实体信息,还包括很多扩展信息    //例如:    /// <summary>    /// User领域实体类    /// </summary>    public class User    {        #region 属性        //下面的属性由数据库中的User表映射过来        public int Id { get; set; }        public string FirstName { get; set; }        public string LastName { get; set; }        public int Age { get; set; }        #endregion    }    /// <summary>    /// User业务逻辑实体类(最好不要)    /// </summary>    public class UserModel    {        #region 属性        //下面的属性由数据库中的User表映射过来        public int Id { get; set; }        public string FirstName { get; set; }        public string LastName { get; set; }        public int Age { get; set; }        //下面是根据业务逻辑扩展的属性        public string UserName { get; set; }        public bool IsOlder { get; set; }        #endregion        #region 映射        /// <summary>        /// UserModel到User的显示转换定义        /// </summary>        /// <param name="user"></param>        /// <returns></returns>        public static explicit operator UserModel(User user)        {            UserModel model = new UserModel();            //基本映射            model.Id = user.Id;            model.FirstName = user.FirstName;            model.LastName = user.LastName;            model.Age = user.Age;            //扩展映射(包含业务逻辑)            model.UserName = user.FirstName + " " + user.LastName;            model.IsOlder = user.Age > 60 ? true : false;            return model;        }        /// <summary>        /// User到UserModelr的显示转换定义        /// </summary>        /// <param name="model"></param>        /// <returns></returns>        public static explicit operator User(UserModel model)        {            //基本映射            User user = new User();            user.Id = model.Id;            user.FirstName = model.FirstName;            user.LastName = model.LastName;            user.Age = model.Age;            return user;        }        #endregion    }    //主程序    class Program    {        static void Main()        {            User user = new User();            user.Id = 1;            user.FirstName = "meng";            user.LastName = "gaoyuan";            user.Age = 25;            //映射显示转换的应用            UserModel model = (UserModel)user;            Console.Write("全名:{0},是否年轻:{1}", model.UserName, model.IsOlder ? "否" : "是");            User user1 = (User)model;            Console.ReadLine();        }    }}</span>

0 0
原创粉丝点击