工厂方法模式,英文Factory method pattern,工厂方法模式是简单工厂模式的进化版, 看本文之间最好先看一下简单工厂模式。工厂方法模式是定义一个创建产品对象的工厂接口,工厂接口本身不去创建对象,而是交给其子类或者是其实现类去创建,将实际创建工作推迟到子类中进行。

查看全文

在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。对于不同功能之间的多种复杂的对象如果使用继承的方式,类的数量将会碰撞,而采用组合的方式,这样就可以在运行时实现不同的功能的组合。
装饰者模式可以动态的将职责附加到对象上。对于扩展功能的情况,提供了比继承更有弹性的解决方案。

查看全文

本人使用IntelliJ IDEA其实并不太久,用了这段时间以后,觉得的确很是好用。刚刚从Eclipse转过来的很多人开始可能不适应,我就把使用过程中的一些经验和常用功能分享下。

查看全文

IoC(Inversion Of Control),直观地讲,就是容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。IoC 还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,形象地说,即由容器动态地将某种依赖关系注入到组件之中。

查看全文

工欲善其事,必先利其器。在 Android 开发过程中,相信都会遇到这样的问题:

  • Log 太多,不容易找到自己设置打印的内容
  • 找到 Log 但是定位到 Java 源码有不是很方便
  • 对 Log 打印需要设置 Tag,大多时候 Tag 就是本类的类名,存在重复的工作
  • 发布正式版本需要注释或者关掉很多 Log 开关

查看全文

Android 是一个运行在移动终端上的操作系统,跟传统PC最大的不同所在就是移动终端的资源紧缺问题“比较”明显,当然对于一些屌丝机型,应该用“非常“来形容才靠谱。

废话不多说了,Android 的 UI 优化方法主要有以下几点:

查看全文

俗话说:“不会偷懒的程序员不是好的程序员!”。作为一名 Android 开发,是不是经常厌烦了大量的 findViewById 以及 setOnClickListener 代码,而 ButterKnife 是一个专注于 Android 系统的 View 注入框架,让你从此从这些烦人臃肿的代码中解脱出来。先来看一段代码示例说明下 ButterKnife 是如何简化代码的:

查看全文

在 Android 获取一个 View 一般都是通过如下方式:

1
TextView textView = (TextView) findViewById(R.id.textview);

相信大家都写过无数次 findViewById 了吧,每次都要 Cast 一下是否很不爽啊。今天就来介绍三种简便的方法避免这种 Cast。

查看全文

前几天面试,遇到一个有意思的题目:要写写一个方法,输入1则输出0,输入0则输出1。假设该函数输入变量类型和返回变量类型均为int。据说有很多种写法,下面是我自己想到的和找到的一些方法:

查看全文

返回顶部