2009-08-21 111 views
18

我一直在網上搜索一段時間。我正在尋找針對OOD練習的小范例練習(&,針對一些內部TDD研討會)。
如果有一個單一的地方,這種需求正在被送達,請點我吧..並關閉了這個問題面向對象/面向對象練習/代碼練習

約束:

  1. 語言無關的現實世界中的問題
  2. 小:某些需要一個小時才能解決的問題(或者具有可以適應此約束的子部分)。
  3. 不以算法爲中心:不專注於解決計算任務。 (有多個網站可用於此類別。)涉及> 2個互動實體。
  4. 由多人解決,最好是你自己:驗證完好。首選鏈接。請不要發佈一些可以是一個很好的鍛鍊......主觀

相似,所以懷疑60109,但答案在這裏不符合我的需要。我發現在長時間接受日常工作之後,我已經與OOD失去了聯繫(打亂了想法)。需要讓它恢復原狀。

更新:我們是否總體不使用簡短的OOP練習?我希望我有一堆可以選擇。然而,我的網絡搜索(這是在制定正確的搜索字符串中的差異性練習),並且這裏沒有迴應似乎表明另有說明。也許我在不好的時候發佈到SO上,在這種情況下,爲了獲得更多的回覆,這個帖子會出現。

+1

當涉及現實世界的問題時,沒有「正確的解決方案」這樣的東西。 – 2009-08-21 07:30:33

+1

@尼爾不需要。目的是體驗和研究達成解決方案的過程。 – Gishu 2009-08-21 11:53:29

回答

1

戴夫·托馬斯CodeKata

善良,

+0

你有什麼具體的卡塔?大部分練習都集中在開發算法思維和編程技巧上 - 除了超市定價之外......這很好。 – Gishu 2009-08-21 09:38:26

+0

做BinaryChop練習是我的最愛。審查不同的方法部分是讓我回到它的東西。我試圖每隔幾個月做一個星期左右的時間。 善良, 丹 – 2009-08-21 10:26:36

3

傑夫灣Object Calisthenics。遵循這些將提高你的面向對象技能。

+1

這些似乎是更好的面向對象設計的規則或準則。我正在尋找簡短的問題陳述或場景,以OO方式嘗試和建模 – Gishu 2009-08-21 09:42:24

+0

我明白你在說什麼,但它們通常作爲一組規則在1000行代碼中發揮作用 - 開發以這種方式,無論問題得到解決,都將有助於您的設計技巧。我認爲,對於真正的學習,具體問題不像強迫自己學習解決問題的新技術那麼重要。 – kyoryu 2009-08-22 07:30:32

1

問卷練習題

一個問題,我已經工作的在幾個不同的工作中是編寫一些通用的,數據驅動的調查/問卷調查功能。這不是非常複雜,但有足夠的有趣的途徑成爲我認爲的一個很好的OOD練習題。這絕對是現實世界,並在很多地方出現。

您可以開始考慮如何構建Survey。它顯然是由Questions組成的,但是你是否也想CategoriesQuestion可以有子問題嗎?一個子問題可以有子問題嗎?你可以走多遠?

一個問題可能需要有潛力Scores。你有什麼類型的分數?你有什麼類型的問題(多選,多答案,自由文本等)?

一旦您掌握了基本的業務邏輯,您還可以考慮如何顯示調查。也許你有一個SurveyRenderer和一個QuestionRenderer?你如何決定如何呈現不同類型的問題? (也許你使用策略模式......如this SO question。)如何呈現調查的只讀版本?

你也可以考慮持久性。你如何記錄對空白問卷的回答?調查的對象圖如何映射到數據庫(或其他支持存儲),反之亦然?