PDA

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



Pedram_Parsian
دوشنبه 10 شهریور 1393, 20:13 عصر
با سلام

من دارم برنامه ام رو به صورت 3 لایه می نویسم فقط نمیدونم توی DataLayer باید دقیقا چی قرار بدم ؟

یه سوال دیگه :

یه پروسیجر توی اس کیو ال نوشتم که میاد پسورد رو چک میکنه و کدی که توی برنامه ام نوشتم اینه :


try
{
SqlConnection cnn = new SqlConnection("server=.;Database=Library;uid=sa;pwd=***");

SqlCommand cmd = new SqlCommand("dbo.CheckPassword", cnn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("@Result", SqlDbType.Int).Direction = ParameterDirection.Output;

cmd.Parameters.Add("@PersonType_Id", SqlDbType.Int).Value = PersonType;

cmd.Parameters.Add("@Password", SqlDbType.NVarChar).Value = Password;

cnn.Open();

cmd.ExecuteNonQuery();

cnn.Close();

if ((int)cmd.Parameters["@Result"].Value == 1)
{
return true;
}
else
{
return false;
}

}
}

ولی یه جورایی غیر اصولی به نطر میرسه چون وقتی ما DataLayer داریم دیگه به این صورت نباید ارتباط برقرار کنیم ؟ عایا درسته ؟ :لبخند:

ممنون میشم راهنمایی کنید.

Pedram_Parsian
دوشنبه 10 شهریور 1393, 20:45 عصر
لطفا کمک کنید ؟؟

ممنون

Pedram_Parsian
دوشنبه 10 شهریور 1393, 23:03 عصر
دوستان لطفا کمک کنید ....

من خودم یه سری اطلاعات پیدا کردم ولی کامل نبود ، تا جایی که من فهمیدم باید یه کلاس به اسم checkPassword توی همون لایه Data درست کنم و داخلش یه تابع درست کنم که همون کد هایی رو که بالا نوشتم رو بهش منتقل کنم .... درسته عایا ؟ :متفکر:

plus
سه شنبه 11 شهریور 1393, 15:30 عصر
یک روش واحدی وجود نداره که بشه گفت دقیقا در DataLayer چی بنویسید. ولی خوب چیزی که از اسم این لایه مشخص هست، تنها چیزی که در این لایه باید باشه کدهای مربوط به داده (نگه داری و واکشی) هست.
ای که چه کلاسی بسازید بستگی داره از چه الگوی طراحی (Design Pattern) برای این کار استفاده کنید.
کتاب Patterns of Enterprise Application Architecture از انشتارات Addison Wesley رو مطالعه کنید.

mahsab
شنبه 22 شهریور 1393, 17:59 عصر
سلام
من تو لایه BAL برای دسترسی به دیتاکانتکس تو لایه DAL با خطای زیر برخورد می کنم ینی چیییییییییییییی ؟؟؟


Error 2 The type 'System.Data.Linq.DataContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. D:\WebSite\Final3 لینک\Solution3\BLL\Link.cs 17 12 BLL



refrence رو add کردم ولی نمی دونم چرا بازم خطا داره ؟؟؟؟