还记得以前刚开始学编程那会,还不太理解面向对象,后来第一次弄明白面向对象的概念的时候,觉得这个棒极了,将所有问题都抽象成对象来解决,再后来再接触设计模式的时候,觉得简直精妙极了。但是今天我想说的是,不要太过于迷信面向对象,它也有局限性。
面向对象可以令很多问题分而治之,划分对象,对象之间通过接口沟通,对象内部解决自己的问题,降低问题的复杂度和代码的耦合度。这种模式这么好,它会有什么问题呢?以前我也从来没有想过这个问题。直到来到西山居,参与九天神话项目。这个项目与西山居以往项目一个很大不同在于lua的大规模运用,所以开发过程中基本会以lua为主。习惯了C++编程的人刚开始在用lua的时候会很习惯按C++的风格来编写lua的代码(当然我是以我为例,我相信很多人会跟我一样,因为旁边的人也是这样),但慢慢的,我开始考虑动态语言与静态语言的区别究竟在哪里?
继续阅读