PDA

View Full Version : گفتگو: مزایا و معایب ایجاد کردن Dataset در کلاس Program ؟؟؟



saeed-kh
جمعه 20 خرداد 1390, 13:09 عصر
سلام دوستان عزیز.
من Datasetی رو که تعریف کردم همون اول اجرای برنامه توی کلاس Program به صورت Static ایجادش کردم.
برای اینگه هر بار توی یک فرم نیاز به ایجاد کردن یک نمونه جدید ازش نباشه و در آن واحد تغییرات اعمال بشه.همه فرمها از همون نمونه Dataset ایجاد شده در Program استفاده میکنند.
حالا به نپر شما معایب این کار چیه و یا مزایا؟؟؟
نمونه کد:

namespace ...
{
static class Program
{
internal static MozafariDBDS DSMain;
internal static MozafariDBDSTableAdapters.MenuTableAdapter AdapterMenu;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
try
{
DSMain = new MozafariDBDS();
AdapterMenu = new MozafariPizza.MozafariDBDSTableAdapters.MenuTableA dapter();
AdapterMenu.Fill(DSMain.Menu);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new MDIP());
}
catch (Exception Ex)
{
MessageBox.Show(".اتصال به بانک برقرار نمی شود" , "", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
string LogEntry =
"Main:" + "\n" +
Ex.Message;
Program.ELog.WriteEntry(LogEntry);
return false; ;
}
}
...
}


و هنگام استفاده نیز:


private void Moshtarek_Load(object sender, EventArgs e)
{
dataGridView1.AutoGenerateColumns = false;
BindingSource bind = new BindingSource(Program.DSMain, "Moshtarek");
dataGridView1.DataSource = bind;
}

ویا
private void btnSave_Click(object sender, EventArgs e)
{
try
{
Program.AdapterMoshtarek.Update(Program.DSMain.Mos htarek);
....

Padrone
جمعه 20 خرداد 1390, 13:15 عصر
معایبش این هست که اگر اطلاعات زیادی رو داخلش fill کنی حتی زمانی که بهش احتیاج نداری حجم زیادی از حافظه رو اشغال می کنه
بهترین راه این هست که به جای دیتاست استاتیک یک متغییر رشته ای استاتیک داشته باشی که commandText دیتا ست رو در اونجا ذخیره کنی
و هر وقت نیازی به دیتا ست داشتی با استفاده از متغییر رشته ایت یک شی از اون بسازی
البته اگر داده هایی که در دیتا ست ذخیره میشه کم باشه به نظرم مشکلی نباید داشته باشه

saeed-kh
سه شنبه 24 خرداد 1390, 20:19 عصر
با تشکر از دوست عزیزم:بوس:
حالا یک دیتا ست با چندین جدول که همه هم رشته ای و شاید عددی هستند و حالا شاید 500000 فیلد چقد حجم داره مگه؟؟ذر ضمن الان دیگه کمتر سیستمی دارای رم کمتر از 2 گیگا بایت هست!!درسته؟؟

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