书籍进度

本书目前已经开始发行 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. Git Config(转)

    一.Git已经在你的系统中了,你会做一些事情来客户化你的Git环境.   你只需要做这些设置一次:即使你升级了,他们也会绑定到你的环境中.你也可以在任何时刻通过运行命令来重新更改这些设置.      ...

  2. HTTPS抓包配置

    以Charles为例 配置Charles抓取Https需要手机和PC分别进行配置. 步骤: 1.PC下载charles客户端,并安装. 2.charles客户端安装证书 注意证书安装需要保存在&quo ...

  3. jdk和cglib简单理解(转)

    之前使用cglib的时候不需要将classLoader作为参数传入,但动态代理却要,带着这个疑惑进入这个方法: Proxy.newProxyInstance(classLoader, interfac ...

  4. Kinect的学习笔记发展一Kinect引进和应用

    Kinect开发学习笔记之(一)Kinect介绍和应用 zouxy09@qq.com http://blog.csdn.net/zouxy09 一.Kinect简单介绍 Kinectfor Xbox ...

  5. hdu 4911 Inversion(找到的倒数)

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 Inversion Time Limit: 2000/1000 MS (Java/Others) ...

  6. 网络资源(10) - Eclipse开发项目

    2014_08_26 http://www.360doc.com/content/13/0403/14/11843499_275730704.shtml Eclipse 下搭建struts2开发环境

  7. H264 编解码器架构简单

    看完后H264/AVC 编解码器演示,头脑是刚刚离开以下三个: 1.H264并且不明白如何指定的编解码器来实现,仅定义了一个编码视频位流的语法.和比特流进行解码,这与MPEG 类似. 2.H264而一 ...

  8. EF中的EntityState几个状态的说明

    之前使用EF,我们都是通过调用SaveChanges方法把增加/修改/删除的数据提交到数据库,但是上下文是如何知道实体对象是增加.修改还是删除呢?答案是通过EntityState枚举来判断的,我们看一 ...

  9. linux_coom _ Linux文件比较,文本文件的交集、差集与求差

    交集和差集操作在集合论相关的数学课上经常用到,不过,在Linux下 对文本进行类似的操作在某些情况下也很有用. comm命令 comm命令可以用于两个文件之间的 比较,它有一些选项可以用来调整输出,以 ...

  10. Oracle Data Provider for .NET now on NuGet

    Oracle Data Provider for .NET now on NuGet 时间 2015-03-02 22:30:00  Oracle Bloggers原文  http://cshay.b ...