课程简介
软件架构的本质将软件分解为元素和这些元素之间的关系,促进劳动和知识的分工,使具有特定专业知识的团队就应用程序达到高效的协同工作,同时定义软件元素的交互方式。企业级软件架构能够满足质量需求(非功能性需求),做到决定一个应用程序在运行时的质量(可扩展性、可靠性等),同时决定了开发阶段的质量(可维护性、可测试性、可扩展性和可部署性)。在面临多层级企业级系统这个软件开发中最具挑战的工作时,分层方法、选择合适的架构模式构建以及其适用范围、优劣势,巧妙应对业务需求变化,这些都决定了软件架构的可靠性。
本内容详尽的演绎讲解了多层企业级系统架构设计开发中所涉及到的指导原则、最佳实践和模式,并再其对所涉及的指导原则、最佳实践和模式,知其然且知其所以然,在今后系统架构的过程中能根据所学做出正确的判断。本次分享从传统架构不同的角度出发,通过分层次的实例与实战,按照系统演化的主线,从最简单的三层模型,逐步根据需求丰满每一层的细节,并逐层增加复杂性,最终构建成一个带有横切关注点的四层企业级系统。
课程收益
贯彻整个软件生命周期并建立软件开发模型
根据设计原则和模式,深度剖析高级原则 SOLID / 根据 SOLID 演化系统
掌握Decorator / Command / Observer / Strategy / State / DI等企业模式
实操领域模型模式,包括活动记录模式概述 / 使用时机 / 优劣势/持久化透明 / ORM
仓储模式 / 特例模式等
掌握表现层的演化-MVC模式 / MVP 模式 / PM 模式
受众人群
各类 IT/软件企业和研发机构的架构师,中高级软件设计师、程序员。
课程周期
2天(12H)
课程大纲
主题 | 内容 |
架构基础知识 | 内容一:架构与架构师 1. 软件架构到底是什么? l 隐式架构 & 显示架构 / 什么属于架构,什么不属于 2. 架构师到底是什么? l 架构师的职责 / 对于架构师的常见误解 3. 软件开发流程 l 软件生命周期 / 软件开发模型 内容二:UML必要知识 1. UML概览 l UML 草稿模式 / 蓝本模式 / 编程语言模式 2. UML图表 l 用例图 / 类图 / 顺序图 |
设计原则/模式 | 内容三:设计原则和模式 1. 什么是良好的代码与设计 l 设计中的坏味道 l 结构化设计 / 分离关注点 2. 面向对象设计 l 面向对象基本设计原则 l 高级原则 SOLID / 根据 SOLID 演化系统 3. 从原则到模式 l 模式 VS 惯用法 l 企业级应用中的常用模式 4. 从对象到方面 l AOP编程实战 |
业务层架构 | 内容四:业务层架构模式与实战 1. 业务逻辑层究竟是什么 l 业务层逻辑层剖析 l 业务逻辑层的位置 / 与其他层的关系 2. 根据不同的业务场景选择不同的业务层模式 l 基于过程的模式 VS 基于对象的模式 l 主流业务逻辑模式的复杂性和代价 3. 事务脚本模式 l 事务脚本模式概述 / 使用时机 / 优劣势 l 事务脚本模式实战 / 业务组件与 Command模式 4. 表模块模式 l 表模块模式概述 / 使用时机 / 优劣势 l 表模块模式实战 DataSet(内存数据库抽象) l 表适配器 / 表数据网关实战 5. 活动记录模式 l 活动记录模式概述 / 使用时机 / 优劣势 l 活动记录模式实战 DataTable,DataRow l 外键映射 / 行数据网关实战 6. 领域模型模式 l 活动记录模式概述 / 使用时机 / 优劣势 l 领域模型模式实战 l 持久化透明 / ORM l 仓储模式 / 特例模式 7. 业务逻辑层架构总结 |
服务层架构 | 内容五:服务层架构模式与实战 1. 服务层究竟是什么 l 服务层的职责 / 服务层中的服务 l 服务层的好处 2. 服务层模式实践 l 服务层概述 / 使用时机 / 优劣势 / 服务层的位置 3. 服务层相关模式 l 远程外观 / 数据迁移对象 / 适配器 l 如何使用服务层来应对多客户端 (桌面,Web,移动设备) 4. 面向服务架构 l SOA原则 l SOA 是什么 / 不是什么 l SOA 与服务层 5. 富Web前端的特例 l 重构服务层 l 设计 AJAX / Restful 服务层 6. 服务层架构总结 |
数据访问层 | 内容六:数据访问层架构模式与实战 1. 数据访问层究竟是什么 l 数据访问层功能需求 / 职责 l 数据访问层和其他层 2. 设计自己的数据访问层 l 数据访问层的契约 l 插件模式 / 控制反转模式 l 数据上下文 (Context) 基础 3. 细化自己的数据访问层 l 实现持久化层 l 实现查询服务 l 实现事务性语义 l 实现标识映射 l 实现并发 l 实现延迟加载 4. 使用 O/RM 工具增强数据访问层 5. 是否应该使用存储过程 6. 数据访问层架构总结 |
表现层 | 内容七:表现层架构模式与实战 1. 用户界面和表现层逻辑 l 表现层和用户界面职责 l 表现层的常见误区 2. 表现层的演化 l MVC模式 / MVP 模式 / PM 模式 l 如何选择用户界面模式 3. 表现层的设计 l 视图中要显示什么数据 l 如何处理用户操作 4. 表现层架构总结 |
Owen Dai
百林哲咨询(北京)有限公司专家团队成员
Owen Dai
百林哲咨询(北京)有限公司专家团队成员
Owen Dai
百林哲咨询(北京)有限公司专家团队成员
Owen Dai
百林哲咨询(北京)有限公司专家团队成员
Owen Dai
百林哲咨询(北京)有限公司专家团队成员
Owen Dai
百林哲咨询(北京)有限公司专家团队成员