Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OOD/OOP练习曲/代码练习_Oop - Fatal编程技术网

OOD/OOP练习曲/代码练习

OOD/OOP练习曲/代码练习,oop,Oop,我已经在网上搜索了一段时间了。我正在寻找OOD实践的小样本练习(以及一些内部TDD研讨会)。 如果有一个地方可以满足这种需求,请给我指一指。。结束这个问题 限制条件: 语言不可知的现实世界问题 小型:最多需要一到两个小时才能解决的问题(或具有可满足此约束的子零件) 不以算法为中心:不要只专注于解决计算任务。(有多个站点服务于此类别。)涉及2个以上的交互实体 由多人(最好是你自己)解决:善良得到验证。链接优先。请不要发布一些可能是很好的练习。。。主观的 类似的问题,但这里的答案不符合我的需要。我发

我已经在网上搜索了一段时间了。我正在寻找OOD实践的小样本练习(以及一些内部TDD研讨会)。
如果有一个地方可以满足这种需求,请给我指一指。。结束这个问题

限制条件:

  • 语言不可知的现实世界问题
  • 小型:最多需要一到两个小时才能解决的问题(或具有可满足此约束的子零件)
  • 不以算法为中心:不要只专注于解决计算任务。(有多个站点服务于此类别。)涉及2个以上的交互实体
  • 由多人(最好是你自己)解决:善良得到验证。链接优先。请不要发布一些可能是很好的练习。。。主观的
  • 类似的问题,但这里的答案不符合我的需要。我发现,在长时间从事日常工作后,我已经失去了与OOD的联系(当时我正在思考问题)。我需要把它拿回来

    更新:我们是否集体停止了简短的OOP练习?我希望我能从中挑选一些。然而,我的网络搜索(这是制定正确搜索字符串的一个不同练习)和这里缺少响应似乎表明情况并非如此。也许我是在不好的时候发的。。在这种情况下,点击此线程以获得更多响应

    戴夫·托马斯的

    善良


    杰夫·贝的。以下这些将提高您的OO技能。

    比尔·威克的

    来自RobertMartinAakaUnclebb的AGPPnP书籍

    -第2页有问题陈述

    问卷练习问题

    我在几份不同的工作中遇到的一个问题是编写一些通用的、数据驱动的调查/问卷功能。这并不复杂,但我认为有足够有趣的途径成为一个好的OOD实践问题。这绝对是真实世界,在很多地方都会出现

    您可以开始考虑如何组织一次
    调查
    。它显然由
    问题
    组成,但您是否也想要
    类别
    问题
    可以有子问题吗?子问题可以有子问题吗?你能走多深

    一个问题可能需要有潜在的
    分数
    。你能得到什么类型的分数?你可以问什么类型的问题(多选、多答、自由文本等)

    一旦掌握了基本的业务逻辑,还可以考虑如何显示调查。也许你有一个
    调查者
    和一个
    问题呈现者
    ?您如何决定如何呈现不同类型的问题?(也许你使用了一种策略模式……如中所示。)如何呈现调查的只读版本


    你也可以考虑持久性。如何记录对空白问卷的回答?如何将调查的对象图映射到数据库(或其他支持存储),反之亦然?

    在现实问题上,没有“正确的解决方案”这样的说法。@Neil不需要这样做。我的目的是体验和研究达成解决方案的过程。我是第二个在这里寻找解决方案的人,你最终找到了类似的东西吗?你有什么具体的想法吗?大多数练习都集中在培养你的算法思维和编程技能上——超市定价除外。。这很好。我最喜欢做双排字练习。检查不同的方法部分是让我继续讨论它的原因。我试着每隔几个月做一周左右。善良,DanThese似乎是更好的OO设计的经验法则或指南。我正在寻找简短的问题陈述或场景,尝试用面向对象的方式进行建模。我知道你在说什么,但它们通常作为一组规则呈现在1000行程序的上下文中,以这种方式开发,无论解决了什么问题,都将有助于你的设计技能。我认为,对于真正的学习来说,具体问题不如强迫自己学习解决问题的新技术那么重要。