《代码设计与错误处理:最佳实践指南》
1. 对象与数据结构
在软件开发中,对象和数据结构是两个重要的概念,它们有着不同的特性和应用场景。
1.1 迪米特法则与混合结构
有些框架和标准要求简单的数据结构也具备访问器和修改器。这有时会导致产生一种不幸的混合结构,它一半是对象,一半是数据结构。这种混合结构既有执行重要操作的函数,又有公共变量或公共访问器和修改器,实际上使私有变量变得公开,这会诱使外部函数像过程式程序使用数据结构那样使用这些变量。这种混合结构既难以添加新函数,也难以添加新的数据结构,是一种糟糕的设计,应该避免创建。
例如,当 ctxt 、 options 和 scratchDir 是具有实际行为的对象时,由于对象应该隐藏其内部结构,我们不应该能够直接访问它们的内部。如果要获取临时目录的绝对路径,有两种方式:
ctxt.getAbsolutePathOfScratchDirectoryOption();
或者
ctx.getScratchDirectoryOption().getAbsolutePath()
第一种方式可能会导致 ctxt 对象中的方法数量激增;第二种方式则假定 getScratchDirectoryOption() 返回的是数据结构,而不是对象。这两种方式都
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



