Saturday, June 30, 2007

Is too complex for small projects?

Is too complex for small projects?

My answer is: No! It is good for every project.

(a) On the one hand, “small projects” are not THAT innocent at all! Any small projects are part of bigger system. To be a good citizen, you got to be reliable for those “cross-cut concerns”, and to be reliable means you got to do it AOP way – everybody makes mistakes, doing it manually is simply not acceptable!
(b) On the other hand, is not THAT complex at all. Yes, its concepts are counter-intuitive for beginners. That is especially true because even the inventors do not really know how to categorize its essence (OK, here is the shameless self-promotion: that is why my blog is valuable – I know its essence – it is AOP, not IoC. IoC really is just a simple technique to centralize all those factories for AOP -- yes, by categorizing it this way, it means you always, at least potentially, want to use AOP everywhere – which is indeed very true!). However, the code is really lightweight. A decently experienced programmer can maintain it for sure – I am not crazy, I am serious and telling the truth, notice that I am saying “maintain”, not “develop it from scratch” (the reason? Because is designed this way; it is a beauty; a beauty is always easy to maintain!). Also, I do not want to warrantee that for Nhibernate – so, ya, you could say Nhibernate is a potential maintenance risk, and I would agree to a certain degree (but if it is extremely popular, and it is easy to switch to another package, then, I would say that the potential risk is limited, and it is worth it – it is – then, we should do it). However, the point here is that for Nhibernate, it is an argument about quantity; for, it is an argument about quality – there is absolutely no risk at all. The key is, of course, to understand AOP; once you understand AOP and accept it as the new pivotal concept of the new paradigm (ya, I know, it sounds like converting to a cult; but it is actually converting to the beginning of a new mainstream), you will see how simple, easy, elegant, and beautiful is. I am regret that I did not get that a while ago, because I dislike XML, until asp 2.0 makes me -- with harsh force -- to get used to it – sometimes being too pragmatic is not good, you got to have an open and soft mind, to give something beautiful a chance to steal your heart. I know it is still not too late – partially because I have a relatively open mind  but lesson learned, I will be more open-minded in the future … wait, with one exception, not to M$ -- I am too gullible to their propaganda! I know I may miss something beautiful from M$ -- sigh, not easy to do … “experiences” or “bias”, it is a fine line …


Post a Comment

Subscribe to Post Comments [Atom]

<< Home