PDA

View Full Version : سوال: برنامه نویسی 3 لایه



Arghavan_Reza
چهارشنبه 15 اردیبهشت 1389, 10:09 صبح
سلام دوستان
آیا استفاده از ClientDataset, DataSetProvider, ADODataSet یک نوع برنامه نویسی 3 لایه هست؟
اگر الزاما خیر؛ چکار باید کرد تا برنامه 3 لایه شود؟

vcldeveloper
چهارشنبه 15 اردیبهشت 1389, 12:49 عصر
آیا استفاده از ClientDataset, DataSetProvider, ADODataSet یک نوع برنامه نویسی 3 لایه هست؟
نه کاملا؛ اینطوری می تونید یک برنامه Client\Server رو اینطوری طراحی کنید که در داخل آن، دسترسی به داده ها به طور منطقی سه لایه باشه، تا بعدا که گسترش پیدا کرد، و نیاز شد که پروژه کاملا به سه لایه تبدیل بشه، بتونید با تغییرات کمتری این کار رو انجام بدید.


اگر الزاما خیر؛ چکار باید کرد تا برنامه 3 لایه شود؟
باید یک سرور داشته باشید که با بانک اطلاعاتی ارتباط برقرار میکنه، و کلاینت هایی که به جای آنکه مستقیما به بانک اطلاعاتی وصل بشند، به سرور شما وصل میشند. برای همچین کاری در دلفی چارچوب DataSnap وجود داره، البته امکان استفاده از DCOM ویندوز هم فراهم هست. کامپوننت های تجاری مثل RemObjects DataAbstract هم همچین قابلیت هایی برای نوشتن نرم افزارهای چند لایه ارائه می کنند.

Arghavan_Reza
چهارشنبه 15 اردیبهشت 1389, 20:11 عصر
نه کاملا؛ اینطوری می تونید یک برنامه Client\Server رو اینطوری طراحی کنید که در داخل آن، دسترسی به داده ها به طور منطقی سه لایه باشه، تا بعدا که گسترش پیدا کرد، و نیاز شد که پروژه کاملا به سه لایه تبدیل بشه، بتونید با تغییرات کمتری این کار رو انجام بدید. .

منظور شما از "بطور منطقی" چیست؟
و آیا جهت تبدیل پروژه به 3 لایه کامل ، باید الزاما از کامپوننت های دیگر استفاده کرد؟
در این صورت تغییرات برنامه کم نخواهد بود!