书籍进度

本书目前已经开始发行 beta 版,完成进度约 70%。
(我希望这本书不要超过 200 页,目前看起来应该没问题。)

简介

本书内容是关于 .NET 相依性注入(dependency injection;简称 DI)的相关议题。透过本书,您将会了解:

  • 什么是 DI、它有什么优点、何时使用 DI、以及可能碰到的陷阱。
  • 如何运用 DI 应付容易变动的软体需求,设计出更弹性、更好维护的程式码。
  • 与 DI 有关的设计模式。
  • DI 于 .NET 应用程式中的实务应用,包括 ASP.NET MVC、ASP.NET Web API 等等(本书第五章还深入剖析了 Web API 的管线架构)。
  • 如何使用 DI 容器(例如 Unity)来协助开发宽松耦合的应用程式。

本书的范例皆以 C# 撰写,读者无须具备任何 DI 背景知识。

本書目录

请注意:本书仍在 beta 阶段,这表示内容还会持续更新(已经购买的朋友会收到更新通知,并下载新版本)。

试阅章节

您可至本书主页https://leanpub.com/dinet-s)免费下载试阅章节,如下图所示。

主页除了下载试阅章节,另外还提供了订阅出版通知以及读者意见回馈的功能。

试阅章节只提供 PDF 档案。购买此书的读者则可下载 PDF、给平板用的 EPUB 档案、以及给 Kindle 用的 MOBI 档案。

如何购买

先到 leanpub.com 注册一个使用者账号,然后利用此账号来买书。

请注意:注册账号时填写的 e-mail 必须是有效的!这很重要,因为往后的书籍改版通知讯息都会发送到这个 e-mail 地址。

接着,请至本书网址在线购买:https://leanpub.com/dinet-s

目前有折扣活动至八月底,直接点这个连结即可折抵美金 $2.0 元:https://leanpub.com/dinet-s/c/sY5ktjGqRpMv

底下是結帳頁面(恕我偷懒,直接使用繁体中文版的截图):

Leanpub 平台有提供读者 45 天的鉴赏期。购买之后,45 天内如果后悔,可利用平台本身的功能来退还书籍与书款。所以,那个[Buy Now]按钮请放心地点下去吧! ^_^

最后,如果是信用卡付款,就在网页下方接着填入相关资料,如下图:

如果是 PayPal 付款,您有两个选择:

  1. 直接使用您的 PayPal 账户来结账。
  2. 或者,若您其实没有 PayPal 帐户,那么PayPal 结账功能本身也提供信用卡付款的功能。但请注意,PayPal 结账页面的信用卡付款功能页面中的 e-mail 字段必须填写有效的 e-mail 地址!

更新通知

订购此书时,只要有输入 e-mail 地址,将来有新版本发布时,您就会收到更新通知和下载连结。

下载范例程式与补充资料

本书的完整范例程式与相关补充资料都放在 github 网站上。网址如下:
https://github.com/huanlin/di-book-support

 
 

.NET 相依性注入的更多相关文章

  1. TDD学习笔记【四】--- 如何隔离相依性 - 基本的可测试性

    前言 相信许多读者都听过「可测试性」,甚至被它搞的要死要活的,还觉得根本是莫名其妙,徒劳无功.今天这篇文章,主要要讲的是对象的相依性,以及对象之间直接相依,会带来什么问题.为了避免发生因相依性而导致设 ...

  2. TDD学习笔记【五】一隔绝相依性的方式与特性

    前言 在上一篇文章中,提到了如何通过 IoC 的设计,以及 Stub Object 的方式,来独立测试目标对象. 这一篇文章,则要说明有哪些设计对象的方式,可以让测试或需求变更时,更容易转换. 并说明 ...

  3. Spring.net 学习IOC------属性注入

    我们就完成我们的第一个spring.net学习IOC的"hello world!". 1> 我们新建一个C# 的控制台项目名为Spring,然后引入Spring.Core.d ...

  4. spring4-2-bean配置-2-属性注入细节

    配置 bean,本章节中主要介绍蓝色文字部分. 配置形式:基于 XML 文件的方式:基于注解的方式 Bean 的配置方式:通过全类名(反射).通过工厂方法(静态工厂方法 & 实例工厂方法).F ...

  5. spring-属性注入(外部bean方式)

    xml的配置如下<bean id="userService" class="com.spring5.service.UserService"> &l ...

  6. [書訊]《.NET 依賴注入》 (2014-12-08 更新)

    书 名:.NET 依赖注入 页 数:235 格 式:PDF.EPUB.MOBI难易度:中阶至进阶出版日期:2014 年 12 月 8 日ISBN:9789574320684 简介 本书内容是关于 .N ...

  7. ASP.NET Web API Controller 是怎么建成的

    先看ASP.NET Web API 讯息管线: 註:为了避免图片太大以至于超过版面,上图中的「HTTP 讯息处理程序」区块省略了 HttpRoutingDispatcher 处理路由分派的部分.「控制 ...

  8. Spring 中设置依赖注入

    package com.ysq.vo; public class User { private int uid; private String uname; private String pwd; p ...

  9. 关于MySQL注入漏洞到获取webshell

    关于PHP网站报错性注入拿shell的方法,定位到报错在某个字段上的利用方式: 条件1: 爆出了网站的物理路径 条件2:MySQL具有into outfile权限 SQL语句为: 假如字段为2: un ...

随机推荐

  1. KMP算法(转)

    KMP算法 在介绍KMP算法之前,先介绍一下BF算法. 一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个 ...

  2. android怎么在launcher改动内置apk的icon

    找到launcher下的IconCache中加入变量用来存储要改动apk的包名 及要改动成的icon private String[] className = {"com.google.an ...

  3. linux下一个Oracle11g RAC建立(四)

    linux下一个Oracle11g RAC建立(四) 三.配置共享存储 配置ASM管理准备 1)OCRDISK :存储CRS资源配置信息 2)VOTEDISK:仲裁盘.记录节点状态 3)DataDis ...

  4. 百度官方wormHole后门检测记录(转)

    本次这个安卓后门真是哔了狗了,刚加入大安卓阵营就出了这个篓子,跟你root不root和什么安卓版本没有版毛钱关系,完全是百度SDK官方提供的后门,不是漏洞,人为的. 乌云地址:http://drops ...

  5. [2013山东ACM]省赛 The number of steps (可能DP,数学期望)

    The number of steps nid=24#time" style="padding-bottom:0px; margin:0px; padding-left:0px; ...

  6. 谈论HashMap,HashSet,HashTableeasy被我们忽视

    在正常发育,HashMap,HashTable,HashSet 他们批准了经常使用的按键值地图数据结构.在这里,我主要写一些平时我们使用的这些数据结构easy忽略. HashMap HashMap的结 ...

  7. zoj 3203 Light Bulb,三分之二的基本问题

    Light Bulb Time Limit: 1 Second      Memory Limit: 32768 KB Compared to wildleopard's wealthiness, h ...

  8. 用fildder 查看loveuv 刷流量时通信的数据

    loveuv是一个用来刷网页流量的站点,以下介绍怎么查看它刷流量时数据的传输 首先是注冊页面,邀请码UBMNEY 注冊账号登陆后,在账户资料页面http://www.loveuv.com/user/m ...

  9. HBase文件格式演变之路

    Apache HBase是Hadoop的分布式开源的存储管理工具,很适合随机实时的io操作. 我们知道,Hadoop的Sequence File是一个顺序读写,批量处理的系统.可是为什么HBase能做 ...

  10. 通用Key-Value存储系统的存储管理策略解析

            Key-Value存储作为NoSQL存储的一种常见方式,提供了比SQL数据库更好的可扩展性和读写性能. 比方当前开源最热门的Memcached和Redis:淘宝的Tair.腾讯的Cme ...