Skip to main content

Command Palette

Search for a command to run...

#programming

Articles tagged with #programming

  1. [译]Tell, Don't Ask

    原文链接:Tell, Don't Ask Alec Sharp在其最近的书Smalltalk by Example[1]中指出了一个极有价值的观点: 过程化的代码获取信息并做出决定。面向对象的代码只是告诉对象去做。 — Alec Sharp 这意味着,你应该尝试直接告诉对象你希望他们去做什么,而不是询问他们的状态,做出决定,再告诉他们去做什么。 这样做的问题是,作为调用者,你不应该根据你获得的被调用对象的状态来做决定, 然后再去改变对象的状态。你实现的这部分逻辑很可能是被调用对象的职责,而不...

    Aug 22, 20151 min read162
    [译]Tell, Don't Ask
  2. 使用Dagger 2进行依赖注入

    0. 前言 Dagger2是首个使用生成代码实现完整依赖注入的框架,极大减少了使用者的编码负担, 本文主要介绍如何使用Dagger2进行依赖注入。如果你不还不了解依赖注入,请看这一篇。 1. 简单的依赖注入 首先我们构建一个简单Android应用。我们创建一个UserModel,然后将它显示到TextView中。这里的问题是,在创建UserModel的时候,我们使用了前文所说的hard init。一旦我们的UserModel的创建方式发生了改变(比如需要传入Context对象到构造函数),我们就...

    Aug 6, 20152 min read108
    使用Dagger 2进行依赖注入
  3. 依赖注入原理

    0. 前言 在软件工程领域,依赖注入(Dependency Injection)是用于实现控制反转(Inversion of Control)的最常见的方式之一。本文主要介绍依赖注入原理和常见的实现方式,重点在于介绍这种年轻的设计模式的适用场景及优势。 1. 为什么需要依赖注入 控制反转用于解耦,解的究竟是谁和谁的耦?这是我在最初了解依赖注入时候产生的第一个问题。 下面我引用Martin Flower在解释介绍注入时使用的一部分代码来说明这个问题。 public class MovieListe...

    Aug 1, 20151 min read99
    依赖注入原理