《C# 敏捷开发实践》编程
========== ========== ==========
[做者] (英) Gary McLean Hall
[译者] (中) 许顺强
[出版] 人民邮电出版社
[版次] 2016年07月 第1版
[印次] 2016年07月 第1次 印刷
[订价] 69.00元
========== ========== ==========api
【第一部分】 网络
(P001) 架构
编写代码是软件开发的核心工做,而编写好用的代码有不少不一样的方式。及时抛开平台、语言和框架的影响,对于一个开发人员,最简单的一个功能的实现也会有多种选择。并发
编写的代码也应该具有必定的自适应变动的能力。框架
【第01章】 单元测试
(P030) 测试
自律是一种始终可以拒绝眼前诱惑而选择长期利益的能力 —— Mike Alexander ,健身专家spa
(P035) 设计
一般认为单元测试覆盖率至少要达到百分之八十。
【第02章】
(P042)
对 .NET Framework 程序集的引用老是会致使加载这些程序集。即便你并无真正使用某个 .NET Framework 程序集,它依然会在应用程序启动的时候被加载到内存中。
(P065)
ASP.NET API 用来建立基于 .NET Framework 的 REST 服务。
(P071)
分层 (layering) 是一种架构模式,它鼓励开发人员将软件组件看做是水平功能层,而一个完整的应用程序能够划分为多个水平功能层。分层造成的组件一个叠加在另一个上面,它们的依赖关系方向必须朝下。也就是说,程序最底层的组件没有依赖,每一个层只能依赖它的直接下层。一般状况下,应用程序的顶层都是用户界面,服务程序的顶层都是客户端用来与服务端交互的 API 。
(P072)
问题越复杂,越可能引入更多分层的架构。
老是追求很完美的方案是没有意义的,由于客户心中的完美与开发团队想象的完美有可能不同。
多层架构要比简单的两层划分方案耗费更多的开发时间,也没法及时获取重要的用户反馈。
物理层的数目就是单个应用程序拆分部署的宿主机器数目。
同一台机器上的跨进程交互的时间代价已经比较高了,而跨越网络边界交互的时间代价比前者还要高出不少。
多物理层的部署方式依然有一个明显的优点,那就是它赋予应用程序更好的扩展能力。
(P073)
用户界面层不该该直接引用数据访问层具体实现所在的程序集。这两个层次的接口和实现程序集也应该是严格分开的。
(P074)
数据访问层的全部接口都应该隐藏全部与技术相关的事情,也不该该引入任何对第三方的依赖,这样才能够保证客户端彻底不受具体实现选择的影响。
设计良好的数据应用程可以在多个应用程序中重用。
(P077)
面向切面编程是代码中跨层次的纵切关注点 (也称为切面) 的运用。
【第03章】
(P080)
接口是 Microsoft .NET Framework 开发中一个很是强大的构件。尽管关键字 interface 很简单,可是它表明了一个很是强大的范式。若是正确应用,接口定义的扩展点会让你的代码具备很是好的适应变动的人能力。
(P107)
返回非接口类数据的方法都不是流方法,非流方法会致使客户端代码中方法链方式的调用中断。
【第二部分】
(P145)
S - 单一职责原则;
O - 开放与封闭原则;
L - Liskov 替换原则;
I - 接口分离原则;
D - 依赖注入原则;
【第05章】
(P172)
基于 .NET Framework 平台开发应用的最大优点就是它能很好地支持快速应用开发 (Rapid Application Development , RAD) 。
一般状况下, C# 被认为有助于提升开发效率,但开发出的应用程序运行速度相对却比较慢。
【第06章】
(P186)
切记,任何没有标记 sealed 关键字的类都提供了继承能力。类并非必需要有虚方法或者抽象方法才可以派生子类。
【第08章】
(P243)
接口分离会生成很小的接口。接口规模越小,就变得越通用。
【第12章】
(P324)
水平扩展是指应用程序应该可以经过额外的服务机器以支持更多用户的并发访问。
垂直扩展是指应用程序在经过加强单个机器的能力以支持更多用户的并发访问。