Skip to main content

Command Palette

Search for a command to run...

Latest articles

  1. 《穷查理宝典》读书笔记

    《穷查理宝典》被很多投资圈的人奉为宝典,但是这本书读下来体验并不好。因为这并不是查理芒格写的,而是根据他的书信、演讲整理的,整个书完全没有条理,表达方式整体偏向口语(还是翻译后的),缺少分节,同时又插入了很多演讲现场有关无关的问题。 这里整理一下我读到的一些觉得启发的内容。 投资 巴菲特和芒格的投资理论是集中投资,找到错误定价后,狠狠地下注。这和一般投资者教育中经常提到的要分散风险完全不同,可能是因为一般投资者很难有专业知识去判断什么是错误的定价以及,有这样的耐心。不过即使是分散投资,我们仍然需...

    May 21, 2022
    《穷查理宝典》读书笔记
  2. [译]Tell, Don't Ask

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

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

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

    Aug 6, 2015
    使用Dagger 2进行依赖注入
  4. 依赖注入原理

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

    Aug 1, 2015
    依赖注入原理
  5. RxJava初探

    0.前言 本文主要记录了初步学习RxJava后的总结,希望用最短的篇幅讲清楚RxJava的主要用法。部分内容来自Dan Lew的Grokking RxJava。 本文的示例代码在这里。 1 基本概念 1.1 Rx结构 响应式编程的主要组成部分是observable, operator和susbscriber(与Dan Lew的文章不同,这里把Operator也做为组成部分介绍,这样对结构的整体性会有更全面的认识)。 一般响应式编程的信息流如下所示: Observable -> Operator ...

    May 9, 2015
    RxJava初探