روی یه پروژه ی شخصی دارم کارم میکنم تحت معماری سه لایه، اما فعلا تو همون لایه ی DAL لنگ موندم
میخوام تا یه جاهایی از کاره همین لایه هم به صورتی باشه که تو پروژه های دیگه هم بشه ازش استفاده کنم.
کلاسایی که تا اینجا تعریف کردم به صورت زیر بوده:

1- یه کلاس به اسم ConnectionManager که به صورت sealed تعریف شده با سازنده ی private و متدهایی static برای خوندن کانکشن استرینگ از کانفیگ و ایجاد کانکشن و همینطور دوتا متد برای open و close کردن کانکشن

2- یه کلاس به اسم DbUtility که به صورت abstract تعریف شده که یه سری متدهای پایه ای مثل ایجاد کانکشن( با استفاده از متدهای کلاس بالا)، ایجاد یک SqlCommand و اختصاص اون کانکشن به SqlCommand و متدایی دیگه مثه انواع Execute کردن ها و ...

این تا اینجای کار بود....
=====>حالا چندتا ابهام دارم!

من میخوام الان یه کلاس بنویسم واسه انجام کارایی مثله Select و Insert و Update و Delete و البته به هردو روش متصل و غیر متصل!
حالا چندتا سوال دارم:
1- بیام این متدهارو توی کلاس Dbutility به صورت Abstract تعریف کنم و بعد دو کلاس جدا تعریف کنم و این متدها رو یه بار به صورت متصل و یه بار غیر متصل توش پیاده کنم؟
2- بیام این متدهارو توی یه Interface قرار بدم و بعد بیام این دوتا کلاس متصل و غیر متصل رو بنویسم؟
3- اصلا 2 تا کلاس جداشون کنم درسته یا غلط؟
ووووو

4- میدونم که روش اصولی اینکار استفاده از Design Pattern هاست، اما در حد آشنایی مطالعه کردم دربارشون! و دقیق نمیدونم از کدوم الگو باید استفاده کنم واسه انجام این کارا! و چجوری پیاده سازیش کنم
میخواستم اگه امکان داره دوستانی که تجربه ی عملی کار با معماری سه لایه و استفاده از الگوهای طراحی رو دارن راهنماییم کنن، تو اینترنتم زیاد گشتم اما یه چیزه کامل و کاربردی دستگیرم نشده، همه اشون مثالای ناقص و جسته گریخته هستن
این چیزیه که واقعا همه ی مبتدیای مثل من واسه پیشرفت یادگیری بش نیاز داریم
پیشاپیش ممنونم از کمکتون.

پ ن : من قبلا php کار میکردم، و جدیدن اومدم سمت .net یه چند ماهی میشه . مشکلی هم با سی شارپ ندارم و الانم 2 هفته اس mvc رو شروع کردم
خیلی مشتاقم و علاقه دارم اصولی برنامه نویسی کنم و پروژه هام رو حرفه ای کار کنم (نه مثله قدیما...)

جدیدترین سوالات

در قسمت 9 ویدیو یاد داده شد که چگونه دو تا ایتم به سبد خرید اضافه کنیم با این کد ها

  protected void AddToShoppingCart_Click(object sender, EventArgs e)
 
{

Button btn = (Button)sender;
if (Session["shoppingCart"]!= null)
{
Session["shoppingCart"] += "," + btn.ToolTip;
}
else
{
Session.Add("shoppingCart", btn.ToolTip);

}

// Response.Redirect("shoppingCart.aspx");
}


و این کد
protected void Page_Load(object sender, EventArgs e) { if (Session["status"] != null && Session["status"].ToString() == "Login") { //successful login sql_addedProds.SelectCommand = "SELECT * FROM [Products] WHERE ([id] in (" + Session["shoppingCart"].ToString() + "))"; } else { Response.Redirect("login.aspx"); } }
ولی وقتی دو ایتم یه سبد اضافه می کنم این ارور را می دهد
Server Error in '/' Application.
Input string was not in a correct format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.FormatException: Input string was not in a correct format.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[FormatException: Input string was not in a correct format.]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +14286670
System.Number.ParseInt32(String s, Num
{
if (Session["status"] != null &&
Session["status"].ToString() == "Login")
{


//successful login
sql_addedProds.SelectCommand = "SELECT * FROM [Products] WHERE ([id] in ("
+ Session["shoppingCart"].ToString() + "))";


}
else
{
Response.Redirect("login.aspx");
}




جستجو در بانک سوالات
در این قسمت می توانید بخشی از متن سوال را وارد نموده و به دنبال سوال مورد نظر خود بگردید:

بخشی از متن سوال:

پیاده سازی لایه دسترسی داده (DAL) با استفاده از الگوهای طراحی شی گرا (Design pattern)

روی یه پروژه ی شخصی دارم کارم میکنم تحت معماری سه لایه، اما فعلا تو همون لایه ی DAL لنگ موندم
میخوام تا یه جاهایی از کاره همین لایه هم به صورتی باشه که تو پروژه های دیگه هم بشه ازش استفاده کنم.
کلاسایی که تا اینجا تعریف کردم به صورت زیر بوده:

1- یه کلاس به اسم ConnectionManager که به صورت sealed تعریف شده با سازنده ی private و متدهایی static برای خوندن کانکشن استرینگ از کانفیگ و ایجاد کانکشن و همینطور دوتا متد برای open و close کردن کانکشن

2- یه کلاس به اسم DbUtility که به صورت abstract تعریف شده که یه سری متدهای پایه ای مثل ایجاد کانکشن( با استفاده از متدهای کلاس بالا)، ایجاد یک SqlCommand و اختصاص اون کانکشن به SqlCommand و متدایی دیگه مثه انواع Execute کردن ها و ...

این تا اینجای کار بود....
=====>حالا چندتا ابهام دارم!

من میخوام الان یه کلاس بنویسم واسه انجام کارایی مثله Select و Insert و Update و Delete و البته به هردو روش متصل و غیر متصل!
حالا چندتا سوال دارم:
1- بیام این متدهارو توی کلاس Dbutility به صورت Abstract تعریف کنم و بعد دو کلاس جدا تعریف کنم و این متدها رو یه بار به صورت متصل و یه بار غیر متصل توش پیاده کنم؟
2- بیام این متدهارو توی یه Interface قرار بدم و بعد بیام این دوتا کلاس متصل و غیر متصل رو بنویسم؟
3- اصلا 2 تا کلاس جداشون کنم درسته یا غلط؟
ووووو

4- میدونم که روش اصولی اینکار استفاده از Design Pattern هاست، اما در حد آشنایی مطالعه کردم دربارشون! و دقیق نمیدونم از کدوم الگو باید استفاده کنم واسه انجام این کارا! و چجوری پیاده سازیش کنم
میخواستم اگه امکان داره دوستانی که تجربه ی عملی کار با معماری سه لایه و استفاده از الگوهای طراحی رو دارن راهنماییم کنن، تو اینترنتم زیاد گشتم اما یه چیزه کامل و کاربردی دستگیرم نشده، همه اشون مثالای ناقص و جسته گریخته هستن
این چیزیه که واقعا همه ی مبتدیای مثل من واسه پیشرفت یادگیری بش نیاز داریم
پیشاپیش ممنونم از کمکتون.

پ ن : من قبلا php کار میکردم، و جدیدن اومدم سمت .net یه چند ماهی میشه . مشکلی هم با سی شارپ ندارم و الانم 2 هفته اس mvc رو شروع کردم
خیلی مشتاقم و علاقه دارم اصولی برنامه نویسی کنم و پروژه هام رو حرفه ای کار کنم (نه مثله قدیما...)



0
امتیاز

جوابی برای این سوال در دست نیست!




جواب تو چیه؟
userImage
کاربر میهمان



22500 امتیاز هدیه بهترین جواب

20000 امتیاز هدیه بهترین جواب


20000 امتیاز هدیه بهترین جواب


















پرسش سوال جدید :: تبلیغات در سوال و جواب :: گروه های سوال و جوابی

تمامی حقوق مادی و معنوی، متعلق به وب سایت سوال جواب (soja.ai) و تیم مدیریتی آن می باشد.

طراحی و اجرا : گروه مشاوران فناوری اطلاعات

پاسخ های موجود در سایت توسط کاربران سایت ثبت می شود،
سایت سوال و جواب هیچ مسئولیتی در قبال صحت و محتوی پاسخ ها ندارد، هرچند تا حد امکان نظارت بر محتوی آنها صورت می گیرد.