近来在看 robert 大叔的 clean code 时有一点很困惑。 在 rails 里面,model 是对于数据库表的一种数据抽象,那自然是一种数据结构,按照 robert 大叔的说法,数据结构暴露数据,没有明显的行为,可实际上,model 中并不会缺少行为方法(实际上,在我做过的项目中,大量的处理逻辑都在 model 中)。这样说来,是否这种设计并不符合 robert 大叔的要求?那如何才能做到像 robert 大叔说的对象暴露行为,隐藏数据;数据结构暴露数据,没有明显的行为;而不是把它们混杂在一起?另外,如何理解没有明显的行为这句话?取值和设值方法算是明显的行为吗?