我一直使用过程语言进行编程,目前正朝着面向对象的方向发展。我面临的主要问题是我看不到一种有效地练习面向对象的方法。我会解释我的观点。当我学习PHP和C时,它很容易实现:只是选择一些东西并考虑该东西的算法。
例如,在PHP中,坐下来思考是一件很重要的事情:“好吧,为了练习,让我在一个可以添加产品的管理区域构建一个应用程序”。这非常简单,只需考虑一种算法即可注册一些用户,登录该用户并添加产品。结合使用这些功能和PHP功能,这是练习的好方法。
现在,在面向对象方面,我们还有很多其他东西。这不仅仅是考虑算法的问题,还包括更深入地分析需求,编写用例,弄清楚类图,属性和方法,设置依赖注入以及许多其他事情。
要点是,在我学习面向对象的方式中,一个好的设计似乎至关重要,而在过程语言中,一个模糊的想法就足够了。我并不是说在过程语言中我们可以不用设计就可以编写好的软件,只是为了实践而可行,而在面向对象的情况下,即使没有实践也要经过良好的设计似乎是不可行的。
这似乎是一个问题,因为如果每次我要练习时,我都需要弄清大量的需求,用例等,这似乎并不是提高对象定向的好方法,因为这需要每次练习时,我对应用程序都有一个完整的想法。
因此,练习面向对象的好方法是什么?