摘要: Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来Deque(双端队列)比起Stack具有更好的完整性和一致性,应该被优先使用 E push(E item) 把项压入堆栈顶部。 E pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。 E peek() 查看堆栈顶部的对象,但不从堆栈中移除它。 boolean empty() 测试堆栈是否为空。 int search(Object o) 返回对象在堆栈中的位置... 阅读全文
posted @ 2013-07-22 17:05 心意合一 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 组合模式定义:组合模式允许你将对象组合成树形结构来表现“整体/局部”层次结构,组合能让客户以一致的方式处理个别对象以及对象组合。当涉及到如:菜单,子菜单之类的问题时,会自然而然的想到使用树形结构类之间的关系确如上图所示,但是这种设计复用性和扩展性都很低:1,所有的菜单都有各自的add、remove以及getChild实现,复用性很低2,类型转换问题,菜单完全不知道其包含的子元素的具体类型,这是个大问题(List)针对上述2个问题:1,抽象出共同的父类,以实现一些基本方法的复用2,隐藏菜单与菜单项之间的差异,在这点,我们可以借鉴装饰者模式,将菜单和菜单项都当做一个菜单,如此一来,共同的父类也出现 阅读全文
posted @ 2013-07-22 11:41 心意合一 阅读(216) 评论(0) 推荐(0) 编辑