只是想知道如何從概念,規格,開發等開始一個項目。在開發中,你從數據庫設計開始?或者可能是你知道我可以看的資源。如何啓動一個項目
如何啓動一個項目
回答
這一切都取決於什麼激發了首先啓動項目的動機。它可以從坐下來充實,充實多年來在你腦海中無盡醞釀的東西,或者坐下來製作一個快速而骯髒的原型,讓自己相信你所擁有的那種看似如此簡單的天才想法其實非常棘手灌木,要求你坐下來肉身。
我從來沒有從數據庫設計入手,因爲這是一個實現細節。我可能甚至不想使用數據庫。我從功能設計開始。我想要它做什麼?爲什麼?怎麼樣?它與其他方法有何不同?這個好處是否足以讓它干擾呢?你明白了。一旦我清楚地知道自己在做什麼,最重要的是爲什麼,就會解決實施設計問題。
這是非常普遍的,但第一步總是找出並記錄你想要應用程序做什麼。然後我通常會開發和ERD,它定義完成這些功能所需的表以及位於這些表前面的類結構。一旦這兩大部分完成,通常都是非常順利的航行。
從數據庫設計開始實際上是我的一個大寵物。當然,對一些項目來說很好。簡單的form-over-data應用程序,類似的東西。但對於更復雜的任何事情來說,任何具有邏輯「領域」的東西都不是從數據庫設計開始的。從領域建模開始。如果您正在採用業務邏輯並將其置於代碼中,那麼定義邏輯流程的業務用戶很可能不會考慮靜態SQL或關係數據。他們根據具體和抽象概念的邏輯交互來思考。
正如Eric S. Raymond所說:「智能數據結構和啞代碼比其他方式更好地工作。」通常,當開始數據庫設計時,會創建一個扁平的「啞」數據結構。不是愚蠢的,因爲它是一個糟糕的設計,但從它沒有內置邏輯的意義上說。它是平坦的,無量綱的。所有的情報都需要進入使用它的代碼。
另一方面,豐富的領域模型將業務邏輯和概念直接合併到數據結構中。它通過實際的商業智能來增強數據本身,並在整個域中傳遞這些智能。
現在,這並不意味着您在設計域時不應該考慮持久性。但是,應該建立持久性以配合領域,而不是相反。尼爾森建議從這個領域開始,在開發過程中需要休息一下,思考並努力堅持。這是因爲領域模型確實是核心,但是您需要評估對持久性的任何妥協以保持自己的現實。尋求真正的持久性無知可能會讓自己陷入一些漏洞。
- 1. 如何啓動一個鍵盤項目
- 2. 如何啓動一個ASP.NET項目?
- 3. 如何啓動angular4項目?
- 4. 如何啓動EWL項目?
- 5. 在Visual Studio 2010中啓動第一個項目後啓動第二個項目
- 6. LESS Boilerplate文件啓動一個項目
- 7. 單擊第一個項目啓動ListView
- 8. 第一個啓動django項目錯誤
- 9. ASP.NET 5 - 啓動一個ASP.NET vNext項目
- 10. 如何設置listview滾動一個項目一個項目
- 11. 如何自動啓動Jboss bpms項目
- 12. 如何在Eclipse和Subversion中啓動一個新項目
- 13. 如何在MonoDevelop中啓動一個新的Vala項目?
- 14. 如何在VS Code中指定一個啓動項目?
- 15. 如何用Xcode啓動一個新的Obj-C庫項目?
- 16. 我如何在Ionic中啓動一個空白項目
- 17. 如何在cloud9上啓動一個django項目?
- 18. 如何在codeigniter中啓動一個新的網站項目
- 19. 通過Visual Basic中的另一個項目啓動項目
- 20. 如何在VB.Net中調試項目,如果一個啓動另一個?
- 21. 如何在同一個項目中啓動第二個Phonegap活動?
- 22. 基於另一個項目的分支啓動一個新的github項目
- 23. 如何從父項目啓動PreferenceScreen
- 24. 如何在Xcode中啓動Java項目?
- 25. Clion。如何啓動C項目?
- 26. 如何在eclipse中啓動Laravel項目
- 27. 如何用wildfly10啓動springboot項目
- 28. 如何啓動實體框架項目
- 29. 如何啓動ruby-tk項目?
- 30. 如何在Xamarin上啓動項目?
這是一個非常開放的問題,它將隨項目和團隊的不同而不同。真的不可能有確定的答案。也許其他堆棧交換站點之一可能更適合這個問題? – 2010-11-16 00:57:25
我從來沒有讀過它,但它聽起來像你可能會對Guy Kawasaki開始的藝術感興趣 - http://www.amazon.com/Art-Start-Time-Tested-Battle-Hardened-Starting/dp/ 1591840562/ref = sr_1_1?ie = UTF8&qid = 1289869199&sr = 8-1 – dhable 2010-11-16 01:01:11