我在使用.net技术的应用程序开发方面有近6年的经验.多年来我作为一个更好的OO程序员得到了改进,但是当我看到其他人编写的代码(尤其是Jeffrey Richter,Peter Golde,Ayende Rahien,Jeremy Miller等人)时,我觉得我和他们之间有代沟.设计.我通常在ReSharper等工具的帮助下动态设计我的类,用于重构和代码组织.
所以,我的问题是"成为更好的OO程序员需要什么".是吗
a)经验
b)书籍(请参考)
c)过程(tdd或uml)
d)模式
e)其他什么?
如何验证设计是否良好,易于理解和可维护.因为在行业中有如此多的流行语,如依赖注入,IoC,MVC,MVP等,应该更多地集中在设计中.我觉得抽象是关键.还有什么?