温智全的博客

Elvin wen's Blog

这周学习到了一个很好的方法论【BBS】,分别是 learn from the Best,Basic way 和 Stop doing list,首先我们需要制定自己的 Stop doing list,这样才能够让自己不偏离正确的方向,Basic way 需要我们学习几种最基本的做事方法,然后应用在日常工作中,可以提升我们的工作效率,最后我们还要 learn from the Best,向身边或者业界的优秀者学习,学习他们的工作和思考方法,让自己不断进步。

本周学习到了一个很有意思的原则,【MECE法则】,全称是 Mutually Exclusive Collectively Exhausted,互斥且穷尽,意思是在我们分析解决一个问题时,需要将可能的方案穷尽的列举出来,然后再对其归类,达到每个类别互斥,然后就可以得出几类解决问题的方法。这样的方式会更加有效地帮助我们分析和解决问题,值得一试。

“Java 通配符是一种表示未知类型的类型约束的方法。”

概述

通配符 并不包含在最初的泛型设计中(起源于 Generic Java(GJ)项目),从形成 JSR 14 到发布其最终版本之间的五年多时间内完成设计过程并被添加到了泛型中。通配符 在类型系统中具有重要的意义,它们为一个泛型类所指定的类型集合提供了一个有用的类型范围。Oracle 的官方解释是 Type of unknown。

阅读全文 »

“Java Annotation 是 JDK5.0 引入的一种注释机制, 用于为 Java 代码提供元数据。”

概述

Annotation,中文译名为注解,那么注解又是什么呢?简单来说,注解就是对某件事物的标记和解释,用来描述这件事物的特点和属性。举个例子,前一阵看《创造 101》,看到了一名熟悉的 Rapper – Yamy,参加这个节目之后,她又被打上了 Dancer 的标签。对于 Yamy 来说,RapperDancer 就是对她的注解。我们通过注解,可以在一定程度上了解到被标记事物的一些属性,我们就可以用这些属性来做一些事情。比如在《中国有嘻哈》利用 Rapper 标签宣传 Yamy 的说唱能力,而在《创造 101》利用 Dancer 标签宣传 Yamy 的跳舞能力等。

从上面的例子我们可以看出来,通过获取事物的注解,可以得到事物的属性,利用这些属性可以进行一些操作。代码也是这样,通过获取代码的注解,我们可以获得注解赋予代码的属性,利用这些属性,我们就可以在程序的生命周期中,对具有这些属性的代码进行额外的操作。

阅读全文 »

“Vim 是一个历史悠久的,具有很多命令的功能非常强大的文本编辑器,被称为 编辑器之神。”

简介

Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。两派使用者经常发起 “XXX 才是最好的编辑器” 之争。

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。

策略模式是一种对象行为型模式。

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

当对象间存在一对多关系,且当一个对象被修改时,会自动通知它的依赖对象,则使用观察者模式(Observer Pattern)。观察者模式属于行为型模式。

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。此时工厂方法模式就无法完成需求,而抽象工厂模式可以解决这个问题。

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

由于简单工厂模式每次增加新的产品时,都需要修改工厂类,违背了开闭原则,可以通过定义工厂类的父类,为每种产品都创建一个工厂,从而动态的获取子类,并且增加产品时增加工厂子类即可,不用修改工厂父类。

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

简单工厂模式是最简单的设计模式之一,简单到甚至没有放到23种常用设计模式当中,可以用于设计模式的入门学习。

阅读全文 »