正在觀察數個.NET O/R Mapping Framework
公司要開發下一代軟體產品,要我研究哪些Framework可用,所以目前正在K許多文件與Code。
這次我想要做完整的OOAD的分析,所以前一陣子看完Subversion該怎麼運作後,現在正在為用哪一個O/R Mapping Framework花腦筋。
.NET與Java有一最大的不同就在於Persitence Layer思想概念的不同。Martin Fowler在Patterns of Enterprise Application Architecture書中有解釋兩種Bisiness Logic的設計架構:「Table Module」與「Domain Model」。
ADO.NET的DataSet概念就是一種Table Module的實現,而Java一向都以Domian Model去思考設計系統。這也就造成兩大陣營的Framework支援的不同。
在這裡我就不說Table Module與Domain Modle的優劣,單就以OOAD漸漸蔚為流行的現在,要將Object持久存入DataBase所需的O/R Mapping工具,.NET陣營實在落後Java一些距離(像EJB的設計本身就是Domain Model的思考)。
以下是我正在瞭解的幾個.NET O/R Mapping:
Gentle.NET :已經發展一陣子有許多人在用的Framework,還蠻易用的。
NHibernate:把Java的Hibernate移植到.NET的Framework,可以說天生就有良好的血統。
OJB.NET:可以說是Apache OJB的.NET版。
OPF.NET:似乎是一個輕量級的簡易O/R Mapping。
Neo:完全利用原本的ADO.NET的DataSet 特性的 O/R Mapping
過幾天把這些東東研究過在來報告。
這次我想要做完整的OOAD的分析,所以前一陣子看完Subversion該怎麼運作後,現在正在為用哪一個O/R Mapping Framework花腦筋。
.NET與Java有一最大的不同就在於Persitence Layer思想概念的不同。Martin Fowler在Patterns of Enterprise Application Architecture書中有解釋兩種Bisiness Logic的設計架構:「Table Module」與「Domain Model」。
ADO.NET的DataSet概念就是一種Table Module的實現,而Java一向都以Domian Model去思考設計系統。這也就造成兩大陣營的Framework支援的不同。
在這裡我就不說Table Module與Domain Modle的優劣,單就以OOAD漸漸蔚為流行的現在,要將Object持久存入DataBase所需的O/R Mapping工具,.NET陣營實在落後Java一些距離(像EJB的設計本身就是Domain Model的思考)。
以下是我正在瞭解的幾個.NET O/R Mapping:
Gentle.NET :已經發展一陣子有許多人在用的Framework,還蠻易用的。
NHibernate:把Java的Hibernate移植到.NET的Framework,可以說天生就有良好的血統。
OJB.NET:可以說是Apache OJB的.NET版。
OPF.NET:似乎是一個輕量級的簡易O/R Mapping。
Neo:完全利用原本的ADO.NET的DataSet 特性的 O/R Mapping
過幾天把這些東東研究過在來報告。
浙公网安备 33010602011771号