【发布时间】:2016-07-21 15:48:41
【问题描述】:
我正在寻找一种方法来验证我的包 Momocs 中的 S3 对象。
早期版本的包是使用 S4 编写的,然后为了灵活性,我转回 S3,因为用户更喜欢 S3,因为我真的不需要多重继承,etc.。此更改的主要成本实际上是丢失 S4 表示/有效性检查。
我的问题如下:我们如何防止无意中“取消验证”一个 S3 对象,例如尝试扩展现有方法或操纵对象结构?
我已经编写了一些 validate 函数,但到目前为止,我只在关键步骤之前进行验证,通常是将对象从一个类转换为另一个的那些。
我的问题是:
- 我想吃蛋糕吗(S3 灵活性和 S4 表示检查)?在这种情况下,我需要在我的包的所有方法中添加我的
validate函数吗? - 或者在 S3 之上是否有更智能的方法,例如“任何时候我们对特定类的对象执行某项操作时,对其调用
validate函数”?
【问题讨论】: