业务类、工具类和内聚

工作里的小小心得—能设计出相对复杂的系统,却不一定能写得好一段简单的代码。

在写代码的过程中,经常会遇到业务类里面大量的代码重复,一个可以设想的解决办法是把重复的代码提升到父类里面。然而因为父类导致抽象层次的增加,很多时候这种做法并不一定导致最好的解决方案,反而让代码变得难懂。

有时候一个恰当的工具类,可以使得代码变得异常的清晰。但在写工具类时一定要注意:工具类不能生硬插入业务的逻辑,这会破坏业务类的完整;对业务逻辑的控制权一定要掌握在业务类里面。

这些都是看似简单的原则,可在平时写代码的时候,因为时间、进度,我们往往忽略了代码的美感。写代码的感觉还是要多磨练呀。

2 thoughts on “业务类、工具类和内聚

  1. 在我们自己的工作中发现,meta-programming 既可以引入了不起的新记法和新抽象,而且又不会像传统的抽象层次那样引入运行时开销,或者增加理解难度的 indirection,呵呵。比如 Haskell 里的 quasiquotation 和 Perl 里的 FIlter::QuasiQuote 模块 😉

  2. 兄台所言不错,我说的这个Case刚好用到一个新的记法。关于Haskell 里的 quasiquotation 和 Perl 里的 FIlter::QuasiQuote 模块,以前没有接触过,我还要去研究一下。多谢留言。

发表评论

电子邮件地址不会被公开。 必填项已用*标注