• 个人对于架构设计的理解


    处在待业状态最适合做的事情就是对以前的工作和学习做一个总结。
      
       读过一些开源的架构,比如PetShop的架构,Nhibernate的架构,ibatis.net的架构。
      
       自己写过的架构,从最早的简单三层,到面向服务,面向对象,面向接口编程思想的架构的转变,顺便乘着空余时间做下总结,很分析。
      
       也希望得到高人指点,给初学者一些帮助。
      
       我个人不是太过喜欢于ORM框架,但如果在适合的时候或者对ORM有偏向的时候,我想我也会对架构做一个ORM设计,但目前不是。
      
       从整体来说,整个架构设计采用服务的思想,比如ObjectService继承于IObjectService接口。这个就是接口服务层和实现服务层的组成。
      
       接口服务层Company.Web.IService 实现服务层Company.Web.Service。
      
       在整个业务系统中包括业务层 Company.Web.Business,在业务层中做基类BaseDao,所有的业务DAO继承于BaseDao。
      
       业务系统模块还包括 实体层 Company.Web.Model,
      
       该实体层作用包括三个方面,Entity用来定义实体,Collect用来存放实体集合,Table用来规范数据库字段名称。
      
       对于接口与实现分离的衔接,通过服务适配器来实现,在boot.config中做接口和实现的配置,让适配器读取服务做缓存处理。
      
       对于数据库访问层可以通过DbProvider实现多数据库的通用性,通过如下配置以什么方式如何做数据库访问处理。
      
      
      
      
      <Service Type="Company.Web.IDbUtilities.IDbService, Company.Web.IDbUtilities" Driver="Company.Web.DbUtilities.SqlService, Company.Web.DbUtilities" />
      
      
      
       /// <summary>
       /// 数据库访问服务
       /// </summary>
       public static IDbService DbService
       {
       get
       {
       return (IDbService)ServiceManager.Instance.GetService(typeof(IDbService));
       }
       }
      
      
       在基于提供的基础服务中,除了DbUtilities,还包括Company.Web.IConfiguration,Company.Web.ICache服务。
      
       Configuration服务主要作用是记录基本客户信息和系统处理基础信息,必要时当然包括系统运行方式的选择比如基于Local,或者Remoting,或者WebService。
      
       业务层包括2块,是基于服务端的业务层和客户端的业务层。目前实现的方式是通过WebService。
      
       以下为架构截图

  • 相关阅读:
    Python性能提升小技巧
    算法-第四版-练习1.3.32解答
    算法-第四版-练习1.3.30解答
    算法-第四版-练习1.3.31解答
    算法-第四版-练习1.3.29解答
    PAT (Basic Level) Practise:1030. 完美数列
    PAT (Basic Level) Practise:1010. 一元多项式求导
    PAT (Basic Level) Practise:1012. 数字分类
    PAT (Basic Level) Practise:1038. 统计同成绩学生
    PAT (Basic Level) Practise:1018. 锤子剪刀布
  • 原文地址:https://www.cnblogs.com/soundcode/p/1916914.html
Copyright © 2020-2023  润新知