设计模式与重构
文章平均质量分 65
dztai
三年Android App开发经验,一年IOS开发经验,从事过车载、手机、HUD行业。
展开
-
Android 设计模式之单例模式
设计模式是前人在开发过程中总结的一些经验,我们在开发过程中根据实际的情况,套用合适的设计模式,可以使程序结构更加简单,利于程序的扩展和维护,但也不是没有使用设计模式的程序就不好,如简单的程序就不用了,有种画蛇添足的感觉。单例模式可以说是所有模式中最简单的一种,它自始至终只能创建一个实例,可以有两种形式,分别为懒汉式和饿汉式一、饿汉式,很简单,一开始就创建了实例,实际上到底会不会被调用也不管原创 2014-08-23 10:41:01 · 926 阅读 · 0 评论 -
代码重构技巧方法
我是一个程序员。相信很多的程序员也有过同样的的经历,在公司一边骂别人的代码烂,一边写着比别人更烂的代码。代码并不是一开始就变坏,代码变坏有以下可能1、需求变更2、维护代码的人的水平参差不齐3、维护人员流动大4、开发周期短,交付时间紧急5、个人习惯6、管理者对代码的要求以上都是有可能使代码变坏的可能,那么如何写出好的代码?除了个人编程能力外还需要有一定的技巧,以下就是原创 2015-03-19 18:23:45 · 2031 阅读 · 0 评论 -
Android 设计模式之策略模式
策略模式的定义:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。面向对象设计原则:封装变化多用组合,少用继承针对接口编程,不针对实现编程参考书籍:《Head First 设计模式》原创 2014-09-15 19:59:51 · 1353 阅读 · 0 评论 -
Android 设计模式之观察者模式
观察者设计模式的定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。面向对象设计原则:为交互对象之间的松耦全设计而努力松耦合的好处:一、是它适应变化的灵活性;二、是当某个服务的内部结构和实现逐渐发生改变时,不影响其他服务参考书籍:《Head First 设计模式》原创 2014-09-15 19:53:35 · 1502 阅读 · 0 评论 -
Android 设计模式之装饰者模式
装饰者模式定义:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。设计原则:类应该对扩展开放,对修改关闭在Java中IO的类就是使用了装饰都模式相关代码:http://download.csdn.net/detail/deng0zhaotai/7964311原创 2014-09-23 19:01:52 · 1239 阅读 · 0 评论 -
Android 设计模式之模板方法模式
模板方法模式的定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。CoffeineBeverageWithHook.javapackage com.dzt.template;/** * 由于有的客户有可能不需要调料,这时就需要让客户去选择是否来添加调料,需要 * * @author原创 2014-08-29 19:32:33 · 970 阅读 · 0 评论 -
Android 设计模式之适配器模式
适配器模式的定义是:将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以作无间。看下以下两张图就更清楚了适配器可以实现接口的解耦,如果过一段时间后,厂家想改变接口,适配器可以把改变的部分封装起来,用户就不需要跟着接口改变而改变,只要改变适配器就行了。有这样一个需求:有一个鸭子类和一个火鸡类,我想用火鸡对象来冒充鸭子,但火鸡和鸭子的方法不完全一样,这时就原创 2014-08-28 20:25:50 · 910 阅读 · 0 评论 -
Android中MVC模型(复合模式)
mvc是model,view,controller的缩写,mvc包含三个部分:1、模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。2、视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。3、控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象原创 2014-09-19 18:43:32 · 1272 阅读 · 0 评论 -
CleanCode代码整洁之道培训总结(2015-03-14)
为期四天的CleanCode培训时间很短,很难准确掌握一些知识,但让我对代码有了一个重新的认识和启发;之前也有看过设计模式、重构之类的书,看完之后也有一些感触,过后在写代码中还是不能应用进来,其实重构是时刻都可以进行和长期存在的,变量用途是否单一、一个函数的命名、一个if语句表达式、是否有重复代码、函数职责是否单一、函数是否短小易懂、抽象层次是否单一; 原来之前写的代码是这么烂,原创 2015-03-19 16:39:07 · 5479 阅读 · 0 评论