• 关于

    我是生活在上海的一名程序员,这里是我的主页空间,用来记录我的生活历程、学习笔记和点滴思考。  

  • 栏目

  • 日历

    March 2010
    M T W T F S S
    « Feb    
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  

业务类、工具类和内聚

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

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

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

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

Printed from: http://www.mingli-yuan.info/archives/246 .
© Mingli Yuan 2010.

2 Comments   »

  1. agentzh says:

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

  2. Mountain says:

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

RSS feed for comments on this post , TrackBack URI

Leave a Comment