شاهد نسخه ی 7 این پروژه هستید.
دات نت در هر نسخه از خودش، شاهد افزوده شدن امکانات بی شماریه که کد نویسی رو تسهیل تر می کنند.
3.0 C# و VB.NET 9.0 که همراه با VS.NET 2008 معرفی شدند، قابلیت های جدیدی رو معرفی کردند که به سختی میشه از اونها چشم پوشی کرد.
هر چند که همیشه سعی بر این بوده که هم C# و هم VB.NET پا به پای هم پیش برن و عدم پشتیبانی از قابلیتی در یکی از این زبان ها، با تعبیه ی قابلیتی منحصر به فرد در زبان مقابل جبران بشه، اما با معرفی Net Framework 3.5.، این C# بود که پشتیبانی به نسبت کاملتری از قابلیت هایی که مربوط به کدهای برنامه نویسی میشن داشت. Lambda Statements (و نه Lambda Expressions) و Automatic Properties و Array Literals از جمله قابلیت هایی هستند که در VB.NET 9.0 پشتیبانی نمیشن. خبر خوب اینکه VB.NET در نسخه ی 10.0 خودش تمامی قابلیت های جاری C# رو پشتیبانی خواهد کرد.
سعی من بر این بوده که در این پروژه از این امکانات استفاده کنم. هر چند که این استفاده، کم، و هدف، بیشتر، نمایش نحوه ی استفاده از قابلیت ها بوده. به همین دلیل و از آنجا که بر طبق رسمی نانوشته، مقالات و کدها در سرتاسر وب اکثراً با استفاده از C# منتشر می شوند، با عرض پوزش از دوست داران VB.NET و ابزار ارادت ویژه به این قشر و سپاس از تمامی دوستانی که تا نسخه ی 6 این برنامه با VB.NET همراه شدند، نسخه ی 7 این پروژه را با C# نوشتم.
توضیح ویژه در مورد تغییرات در این نسخه:
روش ها، الگوها و معماری های مختلفی برای پیاده سازی یک پروژه وجود دارند.
یکی از روش هایی که مورد استقبال عموم واقع شده و بیشترین فراگیری و محبوبیت رو داره، معماری چند لایه (n-Tier) است که امروزه زیاد در مورد اون می شنوید.
معماری چند لایه در ساده ترین حالت خودش حداقل از سه لایه پشتیبانی می کنه. این سه لایه شامل BLL، DAL و PL هستند.
هیچگاه نمی توان قانون و سبک مشخصی برای پیاده سازی این نوع معماری ارائه داد. افراد مختلف نسبت به تجربه، توانایی ها و درک خود از این نوع معماری، پیاده سازی های متفاوتی را ارائه می دهند.
درک صحیح این نوع معماری همراه با تسلط بر مفاهیم شی گرایی و صد البته آشنایی و درک مفاهیمی از دات نت که می توان از آنها برای پیاده سازی این نوع معماری کمک گرفت، می تواند به ایجاد نمونه ای عالی از یک پروژه ی چند لایه کمک شایانی کند.
نحوه ی پیاده سازی مناسب این نوع معماری نیز از جمله دغدغه های من بوده. با مطالعه ی پروژه ها و کدهای مختلف برای پیاده سازی این سبک و برگزیدن بهترین اونها و ایده گرفتن از آن و بسط اون با آنچه که در ذهنم بود، در نهایت به نوعی از پیاده سازی رسیدم که در این پروژه شاهد آن خواهید بود.
در این پروژه:
- قابلیت جدیدی اضافه نشده بلکه هدف تغییر کامل DAL و BLL و بازنویسی مجدد آنها از ابتدا با توجه به این سبک از معماری بوده.
- دیتابیس برنامه از پوشه ی App_Data خوانده می شود و نیاز به Attach کردن آن در SQL Server نیست.
- باگی نیز در هنگام ویرایش سطر وجود داشت که باعث میشد مقدار DropDownList "قطعه" و "زیر قطعه" از بین برود که در این نسخه برطرف شده است.
- تا حد امکان از استانداردهای کد نویسی دات نت پیروی کردم.
امیدوارم که این پروژه بتونه اکثر سوالاتی که در مورد "نحوه ی پیاده سازی معماری چند لایه" و در کل هر نوع سوالی که مربوط به اعمال DML پایگاه داده است رو پاسخگو باشه.
به دلیل حضور کمتر بنده از 6 فروردین، پاسخگویی به سوالات دوستان ممکنه با تاخیر صورت بگیره.
با عرض پوزش از دوستانی که در سمینار C# و LINQ شرکت کردند به خاطر تاخیر در انتشار این پروژه، این پروژه را به عنوان عیدی از بنده قبول بفرمایید :)
به منظور انسجام تاپیک، از پرسیدن سوالات کلی، ارسال آف تاپیک و پیام های تشکر آمیز خودداری و صرفاً به دکمه ی تشکر اکتفا
بفرمایید.
با آرزوی سالی توأم با موفقیت و شادکامی برای تمامی مردم ایران زمین.
آپدیت در تاریخ 1/16/89:
بر طرف کردن باگ در هنگام حذف رکورد >>> تولید نسخه ی 7.1
تعداد دانلود نسخه ی 7.0: 2876