2011-10-11 38 views
-1

我正在认真地陷入今天可用的各种技术之中。例如,为了能够选择一个Java框架;我在市场上有许多选项 - Apache Wicket,Tapestry,Click,Struts,Seam,Spring,grails,play framework。然后是数据库,ORM,缓存,JavaScript框架等。 这里的任何小错误都会在开发或维护阶段产生严重影响,我认为这可能会因专家决策而下降。如何制定可应用于任何应用程序的架构决策

我想向这里的专家学习,他们是如何在这样一个架构决策阶段决定的。作为一种通用模式为从头开始的任何Web应用程序开发选择框架和相关技术栈时,需要考虑的重要决策点是什么。例如,如果我正在为社交网站制作架构决策,我应该如何着手列举各种技术,对其进行分类,评估和评估最终技术堆栈?

我正在寻找一种可以帮助所有人的通用模式或决策制定流程。该过程应适用于任何应用程序。 (银行解决方案,社交网络或其他任何东西)。请指出可能有帮助的任何书籍/资源。

我看了下面两个网站,它显示了相关性,但它没有精确地回答我的问题。

How to make decisions while choosing a project in an IT company?

https://stackoverflow.com/questions/4713427/social-network-development-project-technology-decision-making

回答

2

开始采取一切可用的技术的列表,并创建一个计算你的每一个与标准值的表。例如,您的列可能是“执行速度”,“开发速度”,“价格”,“可扩展性”等,而列是每个可用的供应商/技术选择。为您需要在堆栈中进行的每个软件选择创建一个表格(DB,ORM,缓存等)

然后查看您的项目,并选择您最看重的标准例如,某些项目需要便宜且不需要太多扩展,而另一些则可能成本高,但需要非常强大的可扩展性。然后,从每个表格中挑选最符合这些要求的选项。瞧!有你的堆栈。

+0

+1你正走在正确的道路上。关键技巧是确定最初的标准是什么,以及它们的相对重要性/重要性。 –

+0

@oneworld,这个答案可能会帮助你:http://stackoverflow.com/questions/7639732/make-desicions-for-app-development/7643514#7643514 –

+0

@AdrianK是的,也许有关技术的能力的明确表格是但是你可以把它看作是一个比喻性的步骤 - 了解每种技术的优缺点,然后写下最初的标准并认真思考适用的问题。 – Tim