自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 设计模式六大原则(6):开闭原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。开闭原则是面向对象设计中最基础

2015-05-07 17:29:43 506

转载 设计模式六大原则(5):迪米特法则

定义:一个对象应该对其他对象保持最少的了解。迪米特法则的初衷是降低类之间的耦合,由于每个类都减少了不必要的依赖,因此的确可以降低耦合关系。但是凡事都有度,虽然可以避免与非直接的类通信,但是要通信,必然会通过一个“中介”来发生联系,例如本例中,总公司就是通过分公司这个“中介”来与分公司的员工发生联系的。过分的使用迪米特原则,会产生大量这样的中介和传递类,导致系统复杂度变大。所以在采用

2015-05-07 17:28:59 447

转载 设计模式六大原则(4):接口隔离原则

接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。本文例子中,将一个庞大的接口变更为3个专用的接口所采用的就是接口隔离原则。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外来变更的

2015-05-07 17:28:00 446

转载 设计模式六大原则(3):依赖倒置原则

依赖倒置原则的核心思想是面向接口编程传递依赖关系有三种方式,以上的例子中使用的方法是接口传递,另外还有两种传递方式:构造方法传递和setter方法传递,相信用过Spring框架的,对依赖的传递方式一定不会陌生。在实际编程中,我们一般需要做到如下3点:低层模块尽量都要有抽象类或接口,或者两者都有。变量的声明类型尽量是抽象类或接口。使用继承时遵循里氏替换原则。

2015-05-07 17:24:25 313

转载 设计模式六大原则(2):里氏替换原则

里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。子类中可以增加自己特有的方法。当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。看上去很不可思议,因为我们会

2015-05-07 17:21:37 272

转载 设计模式六大原则(1):单一职责原则

定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。遵循单一职责原的优点有:可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。需要说明的一点是单一职责原则不只是面向对象编

2015-05-07 17:20:37 335

原创 组合(Composite)

ActivityFragmentActivity与Fragment生命周期的回调就是 组合还可以对Fragment进行一次封装,比如说容器Fragment

2015-05-04 17:50:54 275

原创 策略(Strategy)

算法可替换public class StrategyDemo { public static void main(String[] args) { int a = 1, b = 2; StrategyDemo strategyDemo = new StrategyDemo(); strategyDemo.calculate(a,

2015-05-04 17:38:39 294

原创 模板(Template)

模板通常是抽象类,例如AsyncTask,IntentService等public abstract class Template { public void autoInvoke() { prepare(); onHandleIntent(); end(); } protected void prepar

2015-05-04 17:12:32 265

原创 单例(Singleton)

懒汉式public class Singleton { private static Singleton instance; private Singleton() { } /** * Returns singleton class instance */ public static Singleton getInstance()

2015-05-04 16:34:05 337

转载 Git使用

1. git 版本控制系统相比CVS\SVN优势:- 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块=========================== 2. github是一个git项目托管网站注册地址:https://github.com/signup/free 3. 安装gi

2015-02-09 16:20:34 364

原创 三步解决Android Studio启动一直在Fetching的问题

第一步在你的Android studio安装目录下找到idea.properties文件:x:xx\Android_Studio\bin\idea.properties第二步在最后一行增加一行属性并保存:disable.android.first.run=true第三步重新启动你的studio即可!

2015-02-07 15:31:17 2037

转载 Android4.1新特性及新增API

Android 4.1发布会已经结束,Android新一代的4.1版本,代号Jelly Bean(果冻豆)的新系统已经正式问世,除了新架构、全新通知栏和搜索功能之外,实际上这个新系统还有许多新的特性,在发布会上不能完整的展示,现在我们就对这些新特点逐一解析,让你看到4.1版系统会不会值得大家期待。1.更快、更流畅、更灵敏在演讲中,大家除了听到果冻豆这个词之外,还有一

2015-02-05 20:07:18 1104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除