设为首页 加入收藏

TOP

领域驱动设计(1)认识了解什么是领域驱动(二)
2019-09-17 18:21:03 】 浏览:50
Tags:领域 驱动 设计 认识 了解 什么
浮动比例
double floatNum = SeasonMark != 0 ? 0.1 : 1.1; SellAreaModel sellAreaModel = SellAreaModellist.Where(x => x.AreaNo == AreaNo).SingleOrDefault(); if (sellAreaModel != null) { ClothingModel clothingModel = ClothingModellist.Where(x => x.ClothingNo == ClothingNO && x.AreaNo == sellAreaModel.AreaNo).SingleOrDefault(); return ComputedPrice(clothingModel, floatNum); } else { return 0.00M; } } /// <summary> /// 计算衣服的价格 /// </summary> /// <param name="clothingModel">服装信息</param> /// <param name="floatNum">滑动比例</param> /// <returns></returns> public decimal ComputedPrice(ClothingModel clothingModel, double floatNum) { //乘以该地区的折扣比率*季节价格调动比例 return clothingModel.ClothingPrice * clothingModel.Discount * (decimal)floatNum; } View Code

 

    /// <summary>
        /// 获取衣服价格
        /// </summary>
        /// <returns></returns>
        public decimal GetClothing(string ClothingNO, string AreaNo, int SeasonMark)
        {
            //根据季节规定价格浮动比例
            double floatNum = SeasonMark != 0 ? 0.1 : 1.1;
            SellAreaModel sellAreaModel = SellAreaModellist.Where(x => x.AreaNo == AreaNo).SingleOrDefault();
            if (sellAreaModel != null)
            {
             ClothingModel    clothingModel = ClothingModellist.Where(x => x.ClothingNo == ClothingNO && x.AreaNo == sellAreaModel.AreaNo).SingleOrDefault();
                return ComputedPrice(clothingModel, floatNum);
            }
            else
            {
                return 0.00M;
            }
        }
        /// <summary>
        /// 计算衣服的价格
        /// </summary>
        /// <param name="clothingModel">服装信息</param>
        /// <param name="floatNum">滑动比例</param>
        /// <returns></returns>
        public decimal ComputedPrice(ClothingModel clothingModel, double floatNum)
        {
            //乘以该地区的折扣比率*季节价格调动比例
            return clothingModel.ClothingPrice * clothingModel.Discount * (decimal)floatNum;
    }
View Code

这样写的好处在于,当开发设计人员看到这段代码的时候可以明确的看到衣服不通季节有不同的价格计算策略,而不是像上面代码一样把一个重要的业务规则,写成一句不引人注意的计算问题。这样的代码读起来会开发人员更快的理解代码

 

深层模型:

 

     每一个项目都会随着对领域和需求的理解,模型也会逐渐的加深,可能项目刚开始的时候对于我们来说很重要的表面元素,将变得不是那么重要,也或者那些不重要的元素,随着业务理解的深度或切换角度后变得重要起来。模型在一步步的变得庞大这也是知识消化后的产物,如果当领域专家和开发人员通过领域模型就能对业务需求有一定的认知,我想最起码沟通的过程中目的的一致性也做到了。同样会减少很多本不应该出现的需求变更的出现。

 

最近一两个月将持续更新领域驱动设计。有偏差的望大家指出,相互学习。 

              有不足之处 希望大家指出相互学习,

                                   本文原创:转载请注明出处 谢谢!

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇作业小结3 下一篇分布式系统中zookeeper实现配置管..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目