系统架构师-基础到企业应用架构-业务逻辑层

简介:

     #endregion
}

                具体调用的写日志的方法:

1
2
3
4
5
6
7
8
9
public  class  Write
{
     public  static  bool  WriteLog(ILog log)
     {
         //具体的写如日志的方法。
 
         return  true ;
     }
}

             具体相关的产品类与产品分类对象的使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/// <summary>
  /// 产品类
/// </summary>
public  class  Product : BaseWrite
{
     //产品的相关属性
     public  int  ProductID { get ; set ;}
     public  int  ProductName { get ; set ;}
     public  int  ProductClassID { get ; set ;}
     public  int  ProductSort { get ; set ;}
     public  int  ProductIsEnable { get ; set ;}
     //产品类相关的方法
     public  List<Product> GetAll()
     {
         return  new  List<Product>();
     }
}
 
public  class  ProductClass : BaseWrite
{
    //产品分类相关属性
     public  int  ProductClassID { get ; set ;}
     public  int  ProductClassName { get ; set ;}
     public  int  ProductClassCategory { get ; set ;}
     public  int  ProductClassSort { get ; set ;}
     public  int  ProductClassIsEnable { get ; set ;}
    //产品分类相关的信息
     public  List<ProductClass> GetAll()
     {
         return  new  List<ProductClass>();
     }
}

         我们看到了在活动记录模式中会将数据访问层的代码写在该层,但是领域模型中一般不会出现这样的代码。领域模型中只关心跟业务流程相关的内容,具体的数

据持久化之类的内容一概不关心。领域模型中是一系列的对象之间的交互,那么我们可能会关心,如何将领域模型中的这些对象的状态进行保存呢,那么就会牵扯到对

象模型到关系型数据库中持久化的个问题了,在持久化的问题上,我们可能有几种选择,一种是采用现有的ORM框架去实现对象数据的自动持久化,当然这是一种解决

办法。有时候我们是通过手动的方式来进行持久化,可能就不存在这样的问题。

          我们通常在持久化数据的问题上我们希望能做到持久化的透明性,这样就可以说具体的业务层不需要书写持久化的操作代码,当然我们现在设计的时候可能都是

要么是通过特性来实现持久化,或者是通过继承基类的方式来做持久化的操作,那么可能带来如下的问题。

          image

          一般我们知道,一个类如果想不写相应的持久化代码还能实现持久化的话,那么我们只能通过动态的注入持久化代码的方式来实现这样的持久化透明的方案,微

软的EntityFrameWork2.0中的POCO中的ORM方案,就是通过这样的方式来实现的。我们更关心的是代码应该放在何处,是在领域模型中还是领域模型外呢,当然目

前的一些常见的框架中已有实现方案,其中大家熟知的NHibernate就是持久化透明的方式,大家如果感兴趣可以参考NHibernate的实现思路来做。一般对于这种动态

注入代码的这样的方案,这里简单介绍下可能的实现,由于.NET framework 中提供了一个派生自特性类型的代理类,通过代理类来动态的将这个类的相关功能追加到

指定的对象中,这就是所谓的动态代理,当然针对某个特定的类型这样来做,WCF也是通过代理类的方式来实现这样的动态插入的形式。

六、本章总结

         本章主要是对业务层建模的不同的架构模式进行了相应的总结及简单说明,可能某些地方说明不是特别的清晰,当然我也是将平时自己的业务开发中的一些经验

和总结,部分内容是参考以前看的书上的内容,不足之处还请大家多多的指点,还有请感兴趣的朋友一起交流领域模型的设计,包括持久化的透明的实现方案等,欢迎

大家多提意见和建议。本人抱着学习和宁缺毋滥的原则,写好每一篇,可能看过这方面资料的同仁当温习下相关内容,没有看过同仁希望对你们有帮助,那就是我最大

的动力。

七、系列进度


        前篇


      1、系统架构师-基础到企业应用架构系列之--开卷有益


      2、系统架构师-基础到企业应用架构-系统建模[上篇]


      3、系统架构师-基础到企业应用架构-系统建模[中篇](上)


      4、系统架构师-基础到企业应用架构-系统建模[中篇](下)


      5、系统架构师-基础到企业应用架构-系统建模[下篇]


      6、系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]


      7、系统架构师-基础到企业应用架构-系统设计规范与原则[下篇]


      8、系统架构师-基础到企业应用架构-设计模式[上篇]


      9、系统架构师-基础到企业应用架构-设计模式[中篇]


      10、系统架构师-基础到企业应用架构-设计模式[下篇]


       中篇


      11、系统架构师-基础到企业应用架构-企业应用架构


      12、系统架构师-基础到企业应用架构-分层[上篇]


      13、系统架构师-基础到企业应用架构-分层[中篇]


      14、系统架构师-基础到企业应用架构-分层[下篇]


      15、系统架构师-基础到企业应用架构-表现层


      16、系统架构师-基础到企业应用架构-服务层


      17、系统架构师-基础到企业应用架构-业务逻辑层


      18、系统架构师-基础到企业应用架构-数据访问层


      19、系统架构师-基础到企业应用架构-组件服务


      20、系统架构师-基础到企业应用架构-安全机制


       后篇


      21、单机应用、客户端/服务器、多服务、企业数据总线全解析


      22、系统架构师-基础到企业应用架构-单机应用(实例及demo)


      23、系统架构师-基础到企业应用架构-客户端/服务器(实例及demo)


      24、系统架构师-基础到企业应用架构-多服务(实例及demo)


      25、系统架构师-基础到企业应用架构-企业数据总线(实例及demo)


      26、系统架构师-基础到企业应用架构-性能优化(架构瓶颈)


      27、系统架构师-基础到企业应用架构-完整的架构方案实例[上篇]


      28、系统架构师-基础到企业应用架构-完整的架构方案实例[中篇]


      29、系统架构师-基础到企业应用架构-完整的架构方案实例[下篇]


      30、系统架构师-基础到企业应用架构-总结及后续


八、下篇预告


        下一篇我们将会开始讲解软件设计中最重要也是最基本的技能-设计模式,希望大家多多提出已经,后面3篇我们将会讲解如何在项目中使用设计模式及使用设计


模式需要注意的事项,将会举例说明每个设计模式可能出现的场景。希望大家持续关注!






本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2010/10/01/1840642.html,如需转载请自行联系原作者

目录
相关文章
JeecgBoot架构图 ● 技术架构图 ● 系统架构图
JeecgBoot架构图 ● 技术架构图 ● 系统架构图
|
7月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
1267 3
|
2月前
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
94 10
|
9月前
|
存储 边缘计算 Cloud Native
“论模型驱动架构设计方法及其应用”写作框架,软考高级,系统架构设计师
模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型独立于实现技术,以标准化的方式储存,利用模型转换策略来驱动包括分析、设计和实现等在内的整个软件开发过程。
419 3
|
6月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
246 6
|
6月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
7月前
|
设计模式 架构师 数据建模
架构师必备底层逻辑:设计与建模的技术深度探索
【8月更文挑战第13天】在软件开发的浩瀚星海中,架构师如同星辰指引,他们不仅规划着系统的蓝图,更在底层逻辑上精雕细琢,确保系统的稳健与高效。其中,“设计与建模”作为架构师的核心能力之一,是连接业务需求与技术实现的桥梁。本文将深入探讨架构师在设计与建模过程中的关键思维与实践方法,为工作学习中的技术同仁提供一份宝贵的干货分享。
103 3
|
7月前
|
开发工具 Android开发
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
60 0
|
7月前
|
Android开发 iOS开发
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
78 0
|
8月前
|
监控 安全 前端开发
交易所系统开发(源码正式版)/需求逻辑/玩法详情/规则架构
交易所源码开发是指基于特定的需求和要求,从头开始构建一个自定义的交易所平台的开发过程。这种开发可以包括以下几个关键方面:

热门文章

最新文章