新書推薦:
《
棉的全球史(历史·文化经典译丛)
》
售價:HK$
109.8
《
超越百岁看这本就够了
》
售價:HK$
55.8
《
亚洲戏剧史·南亚卷
》
售價:HK$
143.4
《
中国历代竹器图谱与数字活化
》
售價:HK$
557.8
《
EDA技术与设计(第2版)
》
售價:HK$
85.0
《
揉碎浪漫(全两册)
》
售價:HK$
70.3
《
古籍善本
》
售價:HK$
537.6
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
87.4
|
編輯推薦: |
总结了框架设计的整体思路,框架内部的模式、框架灵活性的配置、框架工具的支持,通过学习框架设计的思想可以达到倍增学习其他框架的速度。
作者通过长期的研究框架后总结的经验,将帮助应用框架学习者们从另外一个角度来看待应用框架的设计思路,当自己再去研究框架的时候可以举一反三。
从头到尾都是十足干货,是宝贵经验的总结,相信读完本书后,一定会对框架设计有新的理解。
|
內容簡介: |
本书总结了框架设计的整体思路和经验,包含了常见应用框架设计的模式、框架灵活性的配置和框架工具的支持,有助于读者了解框架设计的核心思想,加深对框架设计的理解,快速掌握框架设计的技巧,并在研究其他框架时能够做到举一反三。
本书适用于.NET程序员、架构师、项目经理、技术总监、应用层开发者、框架学习者和和对框架设计感兴趣的读者。
|
關於作者: |
王清培(Plen Wang)
培元教育咨询公司创始人、架构师、高级讲师,微软C# MVP。对企业级分布式系统、大型电子商务系统有着丰富的设计开发经验。一直是应用框架模式、企业级应用架构模式、重构、领域驱动设计方向的研究者和实践者,长期在博客中分享技术经验,连续三届获得全国IT技术博客大赛50强,有着极强的技术钻研精神,并坚持毫无保留地将经验分享出来。
曾任职北美最大的电子商务巨头公司美国新蛋网(www.newegg.com),从事平台的重构和设计工作。目前就职于国内最大的上市在线旅游企业携程旅行网(www.ctrip.com),负责框架、服务相关的设计开发工作,以及培元的课程教育和企业培训。
|
目錄:
|
目录
第1章 框架设计的基本概念1
1.1 框架2
1.1.1 框架的通常作用及层面2
1.1.2 框架的生命周期3
1.2 框架设计4
1.2.1 确定问题域和识别变化点4
1.2.2 选择合适的架构模式、配置变化数据、可视化管理5
1.3 框架设计核心三元素:模式、配置和工具7
1.3.1 框架模式7
1.3.2 框架配置7
1.3.3 框架工具7
1.3.4 总结8
第2章 C#、.NET Library高级应用9
2.1 重温C#——灵活运用各元素10
2.1.1 类、继承、接口10
2.1.2 字段、属性、常量、枚举14
2.1.3 方法、委托、事件16
2.1.4 泛型、协变逆变、类型推断21
2.1.5 扩展方法24
2.1.6 部分类、部分方法25
2.1.7 特性、元数据26
2.1.8 反射、代码对象模型、动态编译、动态缓存28
2.2 面向C#设计模式的关键技术30
2.2.1 创建型——工厂模式、工厂规则注入、委托工厂30
2.2.2 行为型——观察者模式、基于事件的观察者32
2.2.3 结构型——桥接模式、扩展方法34
2.3 编码时应注意防御性、稳定性和性能37
2.3.1 常被忽视的防御性判断37
2.3.2 避免直接返回NULL,保持80%的稳定性38
2.3.3 空对象模式和扩展方法的NULL验证39
2.3.4 注重性能的编码方式41
2.4 单元测试、可测试性代码、持续重构42
2.4.1 单元测试的重要性及核心意义42
2.4.2 可测试性代码的重点44
2.4.3 类中受保护方法的测试47
2.4.4 基于完善的单元测试用例49
2.4.5 TDD的优势50
2.5 第三方库是可插拨的、依赖库的版本51
2.5.1 依赖抽象接口51
2.5.2 依赖库的版本51
第3章 框架模式——框架的精髓53
3.1 提供程序模式55
3.1.1 问题域和基本模型55
3.1.2 相关的设计模式56
3.1.3 实例57
3.1.4 总结63
3.2 链式编程模式65
3.2.1 问题域和基本模型65
3.2.2 实例——非扩展方法实现链式编程模式68
3.2.3 实例——扩展方法实现链式编程模式71
3.2.4 配置带有算法的逻辑并将逻辑算法作为配置保存72
3.2.5 链式编程模式在领域模型中的价值72
3.2.6 总结73
3.3 管道模式74
3.3.1 问题域和基本模型74
3.3.2 实例76
3.3.3 自治管道与约定管道的区别85
3.3.4 总结85
3.4 逻辑上下文模式86
3.4.1 上下文相关概念86
3.4.2 问题域和基础模型86
3.4.3 实例88
3.4.4 总结93
3.5 钝化程序模式94
3.5.1 问题域及基础模型94
3.5.2 实例96
3.5.3 总结103
3.6 规则外挂模式105
3.6.1 问题域及基础模型105
3.6.2 调整逻辑架构——分离业务逻辑于业务规则106
3.6.3 实例107
3.6.4 总结114
3.7 语句组件模式116
3.7.1 问题域和基础模型116
3.7.2 实例118
3.7.3 总结129
3.8 面向契约式模式130
3.8.1 问题域和基础模型130
3.8.2 契约条目检查器132
3.8.3 面向查询的契约文件132
3.8.4 实例132
3.8.5 总结143
3.9 异步消息事件驱动模式144
3.9.1 问题域及基础模型144
3.9.2 相关的设计模式145
3.9.3 实例146
3.9.4 总结154
3.10 总线消息路由模式155
3.10.1 问题域及基础模型155
3.10.2 实例156
3.10.3 总结163
3.11 元数据及元数据缓存池模式165
3.11.1 问题域及基础模型165
3.11.2 元数据的生成方式166
3.11.3 实例167
3.11.4 总结173
第4章 配置化——提高灵活性及扩展性174
4.1 配置内容及存放位置175
4.1.1 配置内容175
4.1.2 存放位置179
4.2 配置的领域概念及文档对象模型180
4.2.1 传统领域信息配置项180
4.2.2 设计具有领域概念的配置项181
4.2.3 配置相关的文档对象模型(DOM) 185
4.3 动态代码配置192
4.3.1 模板引擎介绍192
4.3.2 动态代码配置193
第5章 工具——可视化使用197
5.1 设计时工具 198
5.1.1 自动代码生成198
5.1.2 暴露框架中的某个工具支撑库201
5.2 运行时工具特性203
5.2.1 脚本引擎203
5.2.2 执行上下文203
5.2.3 可插拔203
第6章 框架设计总结204
|
|