思考三个方面的技术实践:持续集成、驱动测试开发和重构

1. 从领域层开始

1)事务脚本模式最简单,适合于在关系数据库之上构建;领域模型需要非常专业的技术,还有鱼数据库的连接;表模块模式折中,在.Net这类有非常强大记录集支持的环境非常合适

2)理论上,可以根据架构来选取工具;实践中,可以让架构和工具相匹配

2. 深入到数据源层

1)事务脚本的数据源:

可供选择的数据库模式为:行数据入口和表数据入口,两者之间选哪个取决于实现平台的方便以及系统未来的发展方向(如:开发平台所包含的工具,比如支持记录集合工具)

2)表模块的数据源:

有一个良好的记录集框架 -> 与表数据入口模式配合得天衣无缝

3)领域模型的数据源:

如果模型相当简单(如只有十几个与数据库相关的类),则活动记录即可;

如果希望耦合更松一些,可以用表数据集入口或行数据入口;

当更复杂性时,可以考虑使用数据映射器(工作单元模式取作用)

3. 表现层

1)如果情况允许,尽可能使用html而不是胖客户界面;

2)如果走html路线,使用mvc;

3).net使用页面控制器 + 模板视图,Java使用前端控制器 + 模板视图;

4)站点面向文档,使用页面控制器,复杂情况下可考虑使用前端控制器;

5)视图选择:模板视图(服务器页面)、转换视图(XSLT)

4. 一些关于具体技术的建议

5. 其他分层方式

第八天-《企业应用架构模式》-通盘考虑相关推荐

  1. [201004][企业应用架构模式][王怀民][周斌][译]

    [201004][企业应用架构模式][王怀民][周斌][译] 模式列表 引言 0.1 架构 0.2 企业应用 0.3 企业应用的种类 0.4 关于性能的考虑 0.5 模式 0.5.1 模式的结构 0. ...

  2. 软件开发大师谈企业应用架构模式

    <企业应用架构模式(英文版)> --作者:Martin Fowler 多年来,Martin Fowler --这位享誉世界的软件开发大师--见证了许多企业级应用项目.这些项目通常都包含相似 ...

  3. 企业应用架构模式-30天阅读计划

    构建计算机系统并非易事.随着系统复杂性的增大,构建相应软件的难度将呈指数增大. 同其他行业一样,我们只有在不断的学习中进步,从成功经验中学习,从失败教训中学习,才有望克服这些困难. 这本书的内容就是这 ...

  4. 《企业应用架构模式》30天阅读计划

    构建计算机系统并非易事.随着系统复杂性的增大,构建相应软件的难度将呈指数增大. 同其他行业一样,我们只有在不断的学习中进步,从成功经验中学习,从失败教训中学习,才有望克服这些困难. 这本书的内容就是这 ...

  5. 图书推荐5:《企业应用架构模式》

    文章目录 基本介绍 推荐理由 总结 延续 基本介绍 书名 企业应用架构模式 作者 (美)Martin Fower 译者 王怀民 周斌 出版社 机械工业出版社 出版时间 2004年12月 页数 363 ...

  6. 企业应用架构模式笔记

    1 企业应用模式概述 1.1 企业应用的模式 企业应用领域要解决的问题在某些方面要比做一个工具软件.或者一个电信通信软件等复杂的得多,比如纷杂的企业数据,各具特色的业务规则,变化莫测的用户需求.因此企 ...

  7. 企业应用架构模式学习笔记

    1.概述 2.分层 表现逻辑处理用户与软件间的交互.表现层的主要职责是向用户显示信息并把从用户那里获取的信息解释成领域层或数据源层上的各种动作. 数据源逻辑主要关注与其他系统的交互,这些系统将代表应用 ...

  8. 企业应用架构模式 读书笔记

    2019独角兽企业重金招聘Python工程师标准>>> 模式列表 Active Record 活动记录:包装数据库表或视图中的行,封装数据库访问,并将业务逻辑加到该数据上的对象. A ...

  9. 重温经典之《企业应用架构模式》——.NET中的架构模式运用 (Base Patterns 1)

    今天看看几个基本模式,这包括Gateway模式,Mapper模式,LayerSupertype模式和Separated Interface模式. 在这本书的最后一章,Martin Fowler放了一大 ...

最新文章

  1. python基础知识整理 第七节:单例设计模式、异常、模块、包、制作模块、文件
  2. 基于 REST 的 Web 服务:基础
  3. 学习笔记95—不要错过的科研神器
  4. 概率机器人总结——占用栅格地图先实践再推导
  5. LCA+差分【p4427】[BJOI2018]求和
  6. Java IO流学习总结七:Commons IO 2.5-FileUtils
  7. 颜色表及html代码
  8. 费纸箱手工制作机器人_环保手工:怎么把纸箱废物利用制作立体小猫(步骤图解)...
  9. 深度学习技术在社会化推荐场景中的总结(附数据集)
  10. 第五次作业之例行报告
  11. C++初学必练基础题【第四期】
  12. 3559A原生CAN总线调试
  13. matlab神经网络应用设计 张德丰,MATLAB神经网络应用设计
  14. 亚马逊qa是什么意思_“亚马逊成就”是什么意思?
  15. gstarcad 2021|gstarcad pro2021(浩辰CAD) 64位附安装教程
  16. 桌面虚拟化云技术将支撑数字化医院
  17. Spring学习笔记-狂神版
  18. 生成对角矩阵 numpy.diag
  19. VMware Workstation player16 虚拟机添加usb无线网卡
  20. AI 行业发展趋势和人才需求预测

热门文章

  1. [转载]Linux从程序到进程
  2. 美国防承包商博思艾伦泄露五角大楼相关敏感文件
  3. MurmurHash算法:高运算性能,低碰撞率的hash算法
  4. 【栈】日志分析(BSOJ2981)
  5. js 外部文件加载处理
  6. Sql Server系列:Transact-SQL概述
  7. 分布式系统工程实现:GFSamp;Bigtable设计的优势,互联网营销
  8. Oracle database 11g 安装 - 配置企业管理器database control失败
  9. Linux内核之于红黑树and AVL树
  10. iOS 相册相机应用2