实现模式
shuilovejie
这个作者很懒,什么都没留下…
展开
-
实现模式之状态
对象方便地包装了行为(behavior)与状态(state):前者被暴露给外部世界,后者则为前者提供支持。对象的好处之一就是将程序中的所有状态分割成小块,每一块都有属于自己的计算环境。这样每一块状态的改变都在可控范围内,编写程序其实就是在改变每一个对象的状态,通过对象状态的转变达到我们要实现的目的。如何访问与修改状态是必须要面对的问题。 1. 直接访问 ...原创 2012-04-24 21:25:07 · 111 阅读 · 0 评论 -
实现模式之行为
冯.诺依曼贡献了关于计算机的一个重要隐喻:一系列依次执行的指令。这一隐喻贯穿了许多编程语言,当然也包括java。那么我们应该如何表达程序的行为(也就是一系列指令)。 1. 控制流 作为程序员,你要决定如何去表达心目中的控制流,是表达成一个含有例外情况的主体流,还是表达成多个同样重要的流,又或者是两者的混合,这样一个问题要先想清楚。另外,写程序的时候,...2012-04-26 23:18:37 · 132 阅读 · 0 评论 -
实现模式之方法
把一个逻辑分成许多方法,而不是全部揉成一团。这是为什么呢?也就是为什么要有方法?因为从理论上讲,只要通过各种跳转控制,可以把任何程序都组织成一段巨大的方法。这样做最大的问题是难以阅读,今后的阅读者很难找到自己关心的部分,另外代码无法重复利用,很多地方出现了相同的代码。 把一个程序的逻辑分割成很多方法,相当于告诉别人“这些逻辑片断之间的联系不紧密”。在把方法归入类中,把类归...2012-05-01 22:13:47 · 268 阅读 · 0 评论 -
实现模式之方法二
6. 容器访问方法 如果对象中包含了一个容器,那么它应该怎样暴露给其他的对象呢?最简单的方法是提供一个get方法,比如: List<books> getBooks() { return books; } 这样暴露的接口给了客户最大的灵活性,客户获得这个容器之后,可以进行任何操作。现在假设这么一种...2012-05-17 22:59:54 · 98 阅读 · 0 评论 -
实现模式之容器
1. List List里面的元素是有序的,两个常用实现类是ArrayList与LinkedList。这两个实现类的性能恰如镜像,ArrayList的访问速度快,添加和删除元素的速度慢;而LinkedList正好相反。 2. Set Set总共有3种实现:HashSet,LinkedHashSet和TreeSet。HashSet速度最快,但其中的...2012-05-24 22:43:03 · 79 阅读 · 0 评论 -
实现模式之类
1. 类 每一个类其实就是这样一个声明:这些逻辑应该放在一起,它们的变化不像它们所操作的数据那么频繁;这些数据也应该放在一起,它们的变化频率差不多,并且由与之关联的逻辑来处理。因为一般数据的变化要比逻辑频繁得多,类的主要目的就是把逻辑与数据分离开来。学会如何用类来包装逻辑和如何表达逻辑的变化,这是有效使用对象编程的重要部分。 2.简单的超类名 ...原创 2012-04-19 23:17:51 · 135 阅读 · 0 评论