2011-10-11 20 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