读书笔记Java编程思想 读书笔记 2022-03-08 第15章:泛型 一般的类和方法,只能使用具体的类型,要么是基本类型,要么是自定义的类,如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。 泛型实现了参数化类型的概念,使代码可以应用于多种类型。 容器类是引入泛型的一个重要原因 Java中,return语句只允许返回单个对象,通过泛型,则可以返回多个对象。这个概念成为元祖(tuple),它将一组对象直接打包存储于其中一个单一对象。 元祖可以具有任意长度,任意类型。 Read More
设计模式行为型模式 设计模式 2022-03-08 迭代器模式 定义Iterator Pattern:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 类图 角色 Iterator(抽象迭代器):接口声明了遍历集合所需的操作: 获取下一个元素、 获取当前位置和重新开始迭代等。 ConcreteIterator(具体迭代器):实现遍历集合的一种特定算法。 迭代器对象必须跟踪自身遍历的进度。 这使得多个迭代器可以相互独立地遍历同一集合。 Read More
设计模式行为型模式 设计模式 2022-03-08 访问者模式 定义封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 类图 角色 Visitor:接口或者抽象类,定义了对每个 Element 访问的行为,它的参数就是被访问的元素,它的方法个数理论上与元素的个数是一样的,因此,访问者模式要求元素的类型要稳定,如果经常添加、移除元素类,必然会导致频繁地修改 Visitor 接口,如果出现这种情况,则说明不适合使用访问者模式。 ConcreteVisitor:具体的访问者,它需要给出对每一个元素类访问时所产生的具体行为。 Read More
设计模式行为型模式 设计模式 2022-03-08 责任链模式 定义免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。 类图 角色 抽象处理者(Handler)角色:声明了所有具体处理者的通用接口。 该接口通常仅包含单个方法用于请求处理, 但有时其还会包含一个设置链上下个处理者的方法。 Read More