学习或提高面向对象编程(OOP)技能的良好挑战/任务/练习

学习或提高面向对象编程(OOP)技能的良好挑战/任务/练习

Good challenges/tasks/exercises for learning or improving object oriented programming (OOP) skills

提高您的面向对象编程技能的挑战是什么?

此次民意调查的目的是提供一个想法,以了解哪些练习对学习OOP有用。

挑战应该是尽可能与语言无关,要求很少或不需要使用特定的库,或者只需要最常用的库。 尝试在每个答案中仅包含一个挑战,这样一来投票就仅代表该挑战的优点。 如果指出了所需的技能水平,以及它为什么是有用的练习背后的原理,也将是很好的。

然后,可以将挑战的解决方案发布为"如何..."问题的答案,并从此处链接到。

例如:

  • 挑战-实现后进先出堆栈
  • 技能水平-初学者
  • 基本原理-提供有关如何引用对象的经验

面向对象设计中的构建技能是一本可能有用的免费书籍。描述如下

"本书的目的是通过为他们提供一系列有趣且适度复杂的OO设计练习来帮助初学者。这本书还可以帮助管理人员提高对OO软件开发过程的满意度。我们将构建是一个微不足道的步骤,将需要一些仔细的思考和设计;此外,由于应用程序本质上是娱乐性的,因此非常有趣且引人入胜,这本书使读者可以在项目截止日期之前探索OO设计的过程和工件。使好的设计看起来不可能。"


从头开始编写具有挑战性的程序。尝试让一些人(大约五个人应该可以使用)使用它。响应他们的更改请求。

调整程序的设计。从小开始,然后看着它成长。应对这种增长。这很难。随着时间的流逝,您还必须修复错误并进行维护,这对我来说是非常宝贵的一课。


挑战:用您选择的语言为您选择的网站/服务API编写一个包装,该包装还不存在(例如,用C#编写的ZenDesk API包装)。将包装程序作为开源发布,以供其他人使用。

技能等级:初学者到中级

基本原理:了解如何将第三方Web服务API外推到有意义的对象/类集合中,从而使该API在您选择的语言中的重用更加容易。


在学习了基础知识之后,请学习"四人帮"设计模式书。

这是经典之作,对于任何想了解如何使用OO来设计常见编码问题的优雅解决方案的编码人员,都必须阅读。


采取过程式的书面代码,然后尝试将其转换为基于OOP的解决方案。在此过程中,请查阅有关重构和设计模式的书。我的一个朋友能够以这种方式在理解面向对象的概念方面迈出了一大步。就像其他任何东西一样,这可能并不适合所有人。


我发现CRC卡在学习,教学和构建良好的OO设计方面非常有效。


尽管比"从头开始"分配的访问性低,但无疑是一个很好的挑战,那就是重构一些不使用继承或不使用继承的代码以充分利用继承的现有代码。重构的过程将暴露很多oop的好处和陷阱,就像我在最近的项目中所做的那样。与过去的项目创建了自己的面向对象的设计相比,它还促使我更好地理解概念。


给定的任务与成为" OOP"几乎没有关系,更多的是如何评分。

我将阅读《重构》一书的第3章,并确保解决方案中没有任何不好的代码味道。或者,更重要的是,仔细检查那些确实适用的方法。

最重要的是,注意设置器和获取器的存在(表明您正在使用一个类的值,而不是要求该类对自己的值进行操作)-或使用"扩展"而不应用Liskov替换原理,诸如此类那。


推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    饥荒快捷键技能|饥荒怎么用技能

    饥荒快捷键技能|饥荒怎么用技能,,1. 饥荒怎么用技能技能火眼金睛:按【H】开启夜视,消耗成吨的饥饿值和理智值。火眼金睛怕风沙入眼,沙尘暴里

    Lucene学习之高亮显示

    Lucene学习之高亮显示,索引,字符,在搜索引擎中我们经常会看到这样的情景: 红色部分我们称之为高亮显示,lucene提供了HighLighter模块来实

    三种技能让你更努力更健康

    三种技能让你更努力更健康,,你的硬盘好吗 随着夏季的到来,很多用户会选择打折飞行大会或升级您的手机。然而,当我们高兴地上网,享受游戏的刺

    反击开始hd7950挑战gtx660ti

    反击开始hd7950挑战gtx660ti,,评价综述: 游戏的评价,hd7950评分的新版本提高8%的性能,以及更近的hd7970,gtx660ti差距的公共版本更为明显,甚

    SSD_计算机技能的正确使用方法

    SSD_计算机技能的正确使用方法,,核心提示:提高SSD的性能最除了上述的两个重要的知识点有效的,和一些比较大的影响的其他方面,如主板打开等功

    加技能快捷键|快捷升级技能

    加技能快捷键|快捷升级技能,,快捷升级技能1、新区开区第一天上限是29级,开区基本是12点提前1到2分钟。新区一般进去会很卡所以大家一定要有

    dota2偷技能快捷键|dota2快捷攻击

    dota2偷技能快捷键|dota2快捷攻击,,1. dota2快捷攻击Alt1.1 信息显示在游戏界面按住Alt不放可以显示如下额外信息:1. 顶端的英雄头像下面会