PDA

View Full Version : سوال: مقایسه این دو کد توسط برنامه نویسان حرفه ای ef



علی فتحی
سه شنبه 11 فروردین 1394, 15:40 عصر
سلام و خسته نباشید خدمت تمام سروران.میخواستم نظر استادان گرامی رو درمورد این دو کد پایین بپرسم ممنون میشم نظر خودتون رو دراین تاپیک مطرح کنید شاید بدرد دیگران بخوره.
دربرنامه صدور پروانه که طراحی کردم از ef.برای پیوند استفاده کردم درج و نمایش رو با این کد نوشتم:

datEntities db = new datEntities(); Customer df = new Customer();
df.id = int.Parse(textBox1.Text);
df.firstname = textBox2.Text;
df.lastname = textBox3.Text;
db.AddToCustomers(df);
db.SaveChanges();
dataGridView1.DataSource = db.Customers.ToList();


اومدم برناممو تغییر دادم و بصورت ویزاردی دیتاگرید رو به تکس باکسها پیوند دادم .و کد رو به شکل زیر برای ثبت نوشتم.

this.Validate(); db.SaveChanges();
customerBindingSource.DataSource = db.Customers;

توی این سایت مطلب زیاد دیدم گفتن در پروژه های بزرگ استفاده از ویزار خوب نیست. بنده بر برنامه ام حدود 15000 پروانه و10000نفر مشتری و حدودا 30000 حواله واریزی ثبت کردم.
حالا همون بانک رو در برنامه دومم استفاده کردم هیچ فرقی از لحاظ سرعت و نصب روی کامپیوتر دیگر و ... نداره .

روش دوم مزیتی که داره زیاد درگیر کد نویسی نیستم. بخوص برای ویرایش و خذف و از همه مهمتر خالی کردن تکست باکسها هیچ کدی نمیخواد ا یک کد ساده customerBindingSource.AddNew(); میشه اینکارو کرد.

سوالم اینجاست ؟وقتی کار به این راحتی وجود داره آیا دلیل خاصی داره همه سورسها و اموزشها از کد اول استفاده کردن.اصلا منظور دوستان ما از پروژه های بزرگ چی هستش .مثلا چقدر بزرگ؟

Mani_rf
سه شنبه 11 فروردین 1394, 16:30 عصر
نکته اول این که وقتی که از ویزارد استفاده میکنید،معمولا همون کد های لازمی که شما به صورت دستی می نویسید رو ویزار براتون پشت صحنه پیاده سازی میکنه. در نتیجه کد نویس شما کم شده ولی کد نویسی برنامه معمولا بیشتر میشه که کمتر نمیشه.

نکته دوم: شاید توی این مثالی که شما زدید ویزار کار رو ساده تر کرده باشه و سوال براتون پیشم میاد که چرا باید کد بنویسید و اصلا کد نویسیش رو یاد بگیریم!
خب پس جواب این سوال رو بدید. میخوام موقعی که داره دیتا جدید وارید میشه این موارد بررسی بشه :
1- تاریخ ورودی شمسی، و از تاریخ جاری کمتر باشه.
2- یک مقدار عددی بگیره که در بازه 65.9685233 تا 84.5652265 (به تعداد ارقام اعشار دقت کن) باشه.
3- اگر مقدار بالا (شماره 2) از 70 بزرگتر بود فیلد سومی باز بشه که از شما یک نام به صورت اجباری و فقط با حروف لاتین بگیره که شامل علامت نقطه هم باشه.

این ها فقط چندتا از مثال های ساده اون هم فقط تو زمینه ولیدیت کردن فیلد ها بود که وقتی از ویزارد استفاده میکنی، ویزارد کارایی خودش رو از دست میده.

* این مطالب به بیان ساده ارائه شده و از بحث های پیچیده فنی به دورند. *