上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
摘要: 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素去,而又不暴露其内部的表示。文中例子:两个餐厅要进行合并,菜单需要遍历,所以定义了一个迭代器接口,然后定义了两个继承了该接口的迭代器,尽管由菜单返回迭代器,但是菜单不实现迭代器。心得数据有很多种存储方法,为了让程序员能更专心于当前开发,因此迭代器是个好东西。组合模式允许你将对象组合成树型结果来表现整体/部分层次结果。组合能让用户以一致的方式处理个别对象以及对象组合拳。文中例子餐厅菜单中有子菜单。心得牺牲单一责任换取透明度。OO原则单一原则,就是让每个类只有一个责任。如果有两个改变的原因,那么就需要对其进行修改。 阅读全文
posted @ 2013-11-01 16:14 yutoulck 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。文中例子利用了泡茶泡咖啡的例子。其实还有排序也是用使用了这个方法。OO原则别找我,我会找你心得本期的原则就是,准许高层调用底层,底层不得调用高层。 阅读全文
posted @ 2013-10-31 10:01 yutoulck 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 适配器模式将一个类的接口,转换成客户群期望的另一个接口。适配器让原本不兼容的类可以合作无间。文中例子由于使用的java不适合多继承,因此文中使用了对象适配,即实现一个期望接口,然后把被期望的对象作为参数传入该实例。外观模式提供了一个统一的接口,用来访问子系统的一群接口。外观定义了一个高层接口,让子系统更加易用。文中例子文中使用了遥控器作为例子,避免用户按太多的按键。OO原则:只和朋友交谈。我们应该只使用属于以下范围的方法该对象本身对象的组件方法参数对象次方法产生的对象 阅读全文
posted @ 2013-10-31 09:57 yutoulck 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 命令模式:将请求封装成对象,这可以让你使用不同的请求、队列、或者日志请求来参数化其他对象,命令模式也可以支持撤销操作。文中例子:使用了遥控器的例子,遥控器不直接进行命令操作,而是每个按键绑定一个请求对象,执行对象的execute()操作即可。心得:其实就是把一段代码所进行的操作封装起来,作为一个命令,使得不同的对象都可以执行这个请求。 阅读全文
posted @ 2013-10-29 23:26 yutoulck 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 阅读:http://developer.android.com/training/basics/actionbar/index.html对于API11以下的兼容:Update your activity so that it extends ActionBarActivity. For example:public class Main Activit yextends ActionBarActivity{...}In your manifest file, update either the element or individual elements to use one of the.. 阅读全文
posted @ 2013-10-29 21:15 yutoulck 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 单例模式:确保一个类只有一个实例,并提供全局访问点。文中例子:使用制造巧克力的火炉作为例子,为了避免有多个火炉的实例,因此使用单例模式。心得:其实就是把实例作为类变量,把获得实例的方法作为类方法,这样就能保证一个类只有一个实例,但是请注意,必须把构造方法作为私有,不然就不是单例模式了。同时,在多线程中,还要考虑到多线程操作的问题,synchronized可以完全解决问题,但是这样又会使得getInstance()只能单线程运行,因此建议在声明静态实例变量的时候直接就初始化。而且注意在静态方法中,this的用法,静态方法无法引用非静态变量。 阅读全文
posted @ 2013-10-29 20:47 yutoulck 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。简单工厂:它并不是一个模式,更像一种编程习惯。但是确可以让客户程序从具体类解耦。OO原则:依赖抽象,不要依赖具体... 阅读全文
posted @ 2013-10-28 22:58 yutoulck 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式:动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。OO原则:为扩展开放,对修改关闭书中例子:使用了饮料和调料的例子,饮料作为装饰对象,调料作为装饰者。心得:首先,得有一个抽象类,作为装饰者和装饰对象的基类,因为在这装饰者里包含对装饰对象的引用。且抽象类里要有“责任”的描述,例如在这里,责任就是返回价格和返回描述。有一点很重要,虽然是责任的附加,但是必须有头有尾,例如这里的返回价格和返回描述,装饰者和装饰对象的内容是不一样的。在真正使用的时候,要不断的对引用进行嵌套。 阅读全文
posted @ 2013-10-28 20:07 yutoulck 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象都会收到通知。OO原则:为交互对象之间的松耦合设计而努力。书中例子:先定义了主题以及观察者接口,主题的主要接口有添加、删除、通知观察者的功能,一般还有个onChange()状态的方法。而观察者一般只有update()方法。在文中,还涉及到了“推”跟“拉”的方法。推的意思是:一次性把所有被更新的数据都传送给观察者,显然这有点累赘;而拉指的则是更新时候主题把自己作为参数之一(可以有另外一个参数),让观察者自行判断主题的类型,然后调用主题暴露给它的一些方法进行所需要的数据的获取。心得:这一章中针对接口编程的想法更加强烈 阅读全文
posted @ 2013-10-27 11:30 yutoulck 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 策略模式:定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于算法的客户。OO原则:封装变化多用组合,少用继承针对接口编程,不针对实现编程书中例子:鸭子的类不实现飞、叫的接口,飞、叫的接口的实现由另外的类进行继承并实现,鸭子只是在类中声明接口变量指向行为的具体实现。心得:使用接口有所好处但是有可能会让我们过分依赖于实现,为了使代码更有复用性,以及后期可以更好的托张,可以使用组合的方法。 阅读全文
posted @ 2013-10-27 10:56 yutoulck 阅读(104) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页