السلام عليكم /
لدي تطبيق على الويب web-app ، استخدم حالياً JSP-Servlets .
صممت تطبيقي ليكون MVC ،
وأريد أن اطبق pattern آخر ، الذي يسمّى بـ Data Access Layer ، أي أني أريد أن أصنع طبقة بين Models و Data Source .. بحيث أستطيع الكتابة الى مصدر بيانات بغض النظر عن نوع مصدر البيانات .
فمثلاً : أريد أن ادعم نوعين من مصادر البيانات ، XML - Relational Database .
السؤال :
وجدت أنه ومن الصعوبة أن أصنع واجهة أو abstract عامة مثل DataAccess ، وأبناءها XmlDataAccess و DbDataAccess .
لأن طريقة ادخال البيانات في الداتابيس مختلفة كلياً عن xml ..
الهدف هو أن أصل لكود شبيه بالتالي :
// enter data from View page .
User user = new User();
user = .... ->
// model layer
if( I want to write to a database)
da = DataAccessFactory.createDatabaseAccess(...); // I can change this dynamically.
else
da = DataAccessFactory.createXmlAccess(...); // I can change this dynamically.
UserModule module = new UserModule(da);
module.insert(user); // this will use data access layer (da) to write data to a data source
.
.
.
in DatabaseAcess Class :da
insert(user){
convert user to sql statement.
executeUpdate(sql);
}
in XmlAcess Class :da
insert(user){
convert user to xml tree
dom.write(user);
}فهل يمكن أن استفيد من data access layer في هذه الحالة ؟ أم أن الأمر صعب لاختلاف مصدر البيانات ..
كيف استفيد من هذا pattern عموماً .

