只是想知道如何从概念,规格,开发等开始一个项目。在开发中,你从数据库设计开始?或者可能是你知道我可以看的资源。如何启动一个项目
如何启动一个项目
回答
这一切都取决于什么激发了首先启动项目的动机。它可以从坐下来充实,充实多年来在你脑海中无尽酝酿的东西,或者坐下来制作一个快速而肮脏的原型,让自己相信你所拥有的那种看似如此简单的天才想法其实非常棘手灌木,要求你坐下来肉身。
我从来没有从数据库设计入手,因为这是一个实现细节。我可能甚至不想使用数据库。我从功能设计开始。我想要它做什么?为什么?怎么样?它与其他方法有何不同?这个好处是否足以让它干扰呢?你明白了。一旦我清楚地知道自己在做什么,最重要的是为什么,就会解决实施设计问题。
这是非常普遍的,但第一步总是找出并记录你想要应用程序做什么。然后我通常会开发和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