成为一名优秀的分析人员和设计师可以极大地使开发人员受益。但这绝对有障碍。并非每个人都对OOAD感兴趣,也不是每个感兴趣的人都知道这条路。一个好的OOAD应该知道多种OO语言吗?还是他/她应该失败的项目?怎样才能成为一个好的OOAD?
成为一名优秀的分析人员和设计师可以极大地使开发人员受益。但这绝对有障碍。并非每个人都对OOAD感兴趣,也不是每个感兴趣的人都知道这条路。一个好的OOAD应该知道多种OO语言吗?还是他/她应该失败的项目?怎样才能成为一个好的OOAD?
Answers:
不感兴趣的人正在制造自己的障碍。我不用担心。
对于那些不知道路径的人,我建议:
希望其中的一些帮助。
我认为,为了完全理解 OO模型,您必须具有使用非OO编程技术惨遭失败的经验。您可以从内到外理解OO,但是要欣赏和尊重OO,它必须是一种闪亮的新工具,它可以代替旧的生锈的工具,但后者并不能很好地完成工作。
我自学了7年之后,才终于在大学级别的Java中学习OO。在那之前,我会不断地开发这些项目,而且它们会变得如此庞大,以至于我忘记了到底发生了什么。它们将笨重,杂乱无章,并且需要进行大量维护才能进行较小的更改。基本上,我一直发现自己陷入了代码困境,并且不断地重新开始。
我花了一段时间才从我采用的线性设计中脱颖而出,但是一旦我完全理解了OO模型,就好比Eureka!我能够自己编写更复杂的项目,并且在学习了继承等概念之后,我的工作效率迅速提高。我没有在浪费时间重新编写代码或从头开始,因为客观上一切都有意义,而且只是直观。
我认为每个程序员都应该尽可能多地了解语言。无论他们是否是OO,这将使他们成为经验更丰富的老手。一旦您了解OO,就可以采用这些技术并将其应用于实现的所有地方。
恕我直言,如果您不了解OO或不想学习OO,那么您在人生战场上的装备就会不足。越来越多的公司正在使用更新的OO语言。我看不出有什么理由今天不知道面向对象模型。
根据人的学习方式,由他们决定如何学习模型。当有人教我时,我个人学习得最好,所以去Java I和Java II上课对我来说确实有很大的不同。我建议您上大学时选修软件工程选修课,或者如果您无权访问大学课程或不想在业余时间学习,则只是上网并寻找OO教程。
当我回想起对我的描述时,我说:苹果是苹果,橘子是橘子。是的,它们都是从树上掉下来的,但是它们是两种截然不同的果实,而你的和谐就在于此。
感兴趣或不感兴趣的人总会有障碍,但是背景和严重性可能会有所不同。
您不必学习多种面向对象概念的语言,而是从一种您喜欢的语言开始,在一段时间内您将在该语言上拥有强大的立足点,将其发布为可行的方法以探索您已完成的一些事情已经尝试使用另一种语言执行相同的操作。一种语言的专业知识可以帮助您切换到新的语言,因为您将获得基准评分。
任何项目都是学习经验,而不是成功,重要的是您对这些功能的适应性如何进行了最佳利用,偶尔阅读其他代码并弄清楚其完成方式和原因非常有用。如果您能找到一位导师,那就太好了。总是知道为什么选择它的原因,以其他方式如何做。尝试使用自己的逻辑和设计模型,然后将其扔给上级/指导者。这样,您将提高自己的技能,也许一开始他们会直接进入垃圾箱,但随后您尝试并了解了自己做错了什么。迭代地,您会越来越好。