提高面向对象编程技能有什么好的挑战?
这次调查背后的想法是提供哪些练习对学习OOP有用的想法.
挑战应尽可能与语言无关,需要很少或不使用特定的库,或只需要最常见的库.尝试每个答案只包含一个挑战,因此投票将仅对应该挑战的优点.如果指出了所需的技能水平,以及为什么它是一项有用的练习背后的理由,也会很好.
然后可以将挑战的解决方案作为"如何..."问题的答案发布,并从此处链接.
例如:
挑战 - 实施后进先出的堆栈
技能水平 - 初学者
基本原理 - 提供如何引用对象的经验
Craig Angus.. 43
面向对象设计中的构建技巧是一本可能有用的免费书籍.描述如下
"本书的目的是通过在OO设计中为他们提供一系列有趣且适度复杂的练习来帮助初级设计师.本书还可以帮助管理人员在OO软件开发过程中获得一定程度的舒适度.我们将使用的应用程序构建是一个微不足道的步骤,需要一些仔细的思考和设计.此外,因为应用程序本质上是娱乐性的,它们很有趣和吸引人.本书允许读者在项目截止日期之前探索OO设计的过程和工件做好设计似乎不可能."
面向对象设计中的构建技巧是一本可能有用的免费书籍.描述如下
"本书的目的是通过在OO设计中为他们提供一系列有趣且适度复杂的练习来帮助初级设计师.本书还可以帮助管理人员在OO软件开发过程中获得一定程度的舒适度.我们将使用的应用程序构建是一个微不足道的步骤,需要一些仔细的思考和设计.此外,因为应用程序本质上是娱乐性的,它们很有趣和吸引人.本书允许读者在项目截止日期之前探索OO设计的过程和工件做好设计似乎不可能."
写一个具有挑战性的计划从头开始.尝试让一些人(大约五个人,应该是可行的)来使用它.回应他们的变更请求.
调整您的程序的设计.从小处开始,然后观察它的成长.管理这种增长.这很难.你还需要修复bug并随着时间的推移维护这个东西,这对我来说是一个非常宝贵的教训.
挑战:用您选择的语言为您的网站/服务API编写一个包装器,这个包装器尚不存在(例如,用C#编写的ZenDesk API包装器).将包装器作为开源发布以供其他人使用.
技能等级:初级到中级
基本原理:要了解如何将第三方Web服务API外推到一组有意义的对象/类中,可以使用您选择的语言更轻松地重用该API.