csharpcollegian
Member
سلام دوستان وقتتون به خیر
دوستان فرض کنید داریم برنامه ای برای مدیریت صندوق امانات بانک مینویسم. خب مثلا ساختار برنامه اینطوری میشه که برای ایجاد هر امانت بایستی قبل از اینکه اطلاعات خام مربوط به خود امانت (شناسه مشتری، تاریخ و ..) ثبت بشه، در ابتدا یک شی صندوق ایجاد بشه و به کمک اون شماره صندوقی که خالی هست برگرده و سپس شناسه این صندوق به همراه اطلاعات دیگر امانت در دیتابیس ثبت بشه. البته پیش نیازهای ایجاد امانت در واقعیت خیلی بیشتره، فقط یک مثال ساده زدم.
حالا سوال بنده این هست که با توجه به اصول معماری سه لایه، کدامیک از روش های زیر درسته ؟
روش اول : در لایه UI شی صندوق امانت را ایجاد می کنیم، شماره صندوق خالی رو برمی گردونیم، شی امانت رو ایجاد می کنیم و پس از دادن اطلاعات لازم امانت رو ثبت می کنیم :
روش دوم : در لایه UI فقط شی امانت رو ایجاد و پس از دادن اطلاعات لازم اون رو ثبت می کنیم. و چون عملیات ایجاد شی صندوق و برگردوندن صندوق خالی پیش نیاز ایجاد امانته، اون رو در لایه BLL و در متد Create خود شی امانت مینویسیم :
خیلی ممنونم
دوستان فرض کنید داریم برنامه ای برای مدیریت صندوق امانات بانک مینویسم. خب مثلا ساختار برنامه اینطوری میشه که برای ایجاد هر امانت بایستی قبل از اینکه اطلاعات خام مربوط به خود امانت (شناسه مشتری، تاریخ و ..) ثبت بشه، در ابتدا یک شی صندوق ایجاد بشه و به کمک اون شماره صندوقی که خالی هست برگرده و سپس شناسه این صندوق به همراه اطلاعات دیگر امانت در دیتابیس ثبت بشه. البته پیش نیازهای ایجاد امانت در واقعیت خیلی بیشتره، فقط یک مثال ساده زدم.
حالا سوال بنده این هست که با توجه به اصول معماری سه لایه، کدامیک از روش های زیر درسته ؟
روش اول : در لایه UI شی صندوق امانت را ایجاد می کنیم، شماره صندوق خالی رو برمی گردونیم، شی امانت رو ایجاد می کنیم و پس از دادن اطلاعات لازم امانت رو ثبت می کنیم :
PHP:
private void button1_Click(object sender, EventArgs e)
{
FundBLL fuObj = new FundBLL();
int fuID = fuObj.GetEmpty();
EntrustBLL enObj = new EntrustBLL();
enObj.fuID = fuID;
enObj.Date = DateTime.Now;
.
.
.
enObj.Create();
}
روش دوم : در لایه UI فقط شی امانت رو ایجاد و پس از دادن اطلاعات لازم اون رو ثبت می کنیم. و چون عملیات ایجاد شی صندوق و برگردوندن صندوق خالی پیش نیاز ایجاد امانته، اون رو در لایه BLL و در متد Create خود شی امانت مینویسیم :
PHP:
class EntrustBLL
{
public bool Create()
{
FundBLL fuObj = new FundBLL();
int fuID = fuObj.GetEmpty();
.
. //Inserting Entrust
.
}
}