PDA

View Full Version : static class



alireza.tabesh
شنبه 04 آبان 1392, 13:45 عصر
سلام
من برخی اوقات در نرم افزار از متغیر یا کلاس static استفاده می کنم .برای حفظ مقدار در طول اجرای برنامه و یا پنهان بودن ارسال پارامتر از دید کاربر.
از طرفی بحث session هم داریم که فقط می دونم می تونم با اون هم یک مقدار رو در طول اجرا حفظ کنم.

سوال ها :
1- برای staticها موارد استفاده دیگه ای داریم ؟
2- آیا در شی گرایی static جایگاه خاصی داره؟
3- کاربرد session به غیر از اونی که من استفاده می کنم چیه؟
4- بهتره از static استفاده کنم یا session ؟

پیشاپیش از راهنمایی هاتون متشکرم.

aspismylove
شنبه 04 آبان 1392, 15:26 عصر
سلام
من برخی اوقات در نرم افزار از متغیر یا کلاس static استفاده می کنم .برای حفظ مقدار در طول اجرای برنامه و یا پنهان بودن ارسال پارامتر از دید کاربر.
از طرفی بحث session هم داریم که فقط می دونم می تونم با اون هم یک مقدار رو در طول اجرا حفظ کنم.

سوال ها :
1- برای staticها موارد استفاده دیگه ای داریم ؟
2- آیا در شی گرایی static جایگاه خاصی داره؟
3- کاربرد session به غیر از اونی که من استفاده می کنم چیه؟
4- بهتره از static استفاده کنم یا session ؟

پیشاپیش از راهنمایی هاتون متشکرم.

بنظر من سشن بهتره، همه جا میتونی استفادش کنی ...

کی گفته فقط یک مقدار میتونی توی سشن استفاده کنی ؟؟! !! میتونی ی آرایه کار کنی یا هر چیز دیگه ای و بیای توی سشن ازش استفاده کنی و چندین مقدار رو انتقال بدی ...

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

alireza.tabesh
شنبه 04 آبان 1392, 17:17 عصر
ممنون از راهنمایی . حتماً سوالمو بد مطرح کردم . درسته با session بیش از یک مقدار میشه ذخیره کرد. سوال دیگر من اینه : هیچکدوم از اینها برای تعداد زیاد کاربر که همزمان کار می کنند مشکلی نداره؟ یعنی هر کاربر مقدار خودش رو در طول اجرا داره ؟
و اینکه درخصوص اهمیت static در شی گرایی با C# مطلب خاصی نیست ؟

aspismylove
شنبه 04 آبان 1392, 21:34 عصر
ممنون از راهنمایی . حتماً سوالمو بد مطرح کردم . درسته با session بیش از یک مقدار میشه ذخیره کرد. سوال دیگر من اینه : هیچکدوم از اینها برای تعداد زیاد کاربر که همزمان کار می کنند مشکلی نداره؟ یعنی هر کاربر مقدار خودش رو در طول اجرا داره ؟

اونو نمیدونم... ولی سشن هیچ مشکلی پیش نمیاد، همین سایت برنامه نویس برای مثال وقتی ما لاگین میکنیم مقدار مثلا آی دی کاربری ما رو توی یک سشن ذخیره میکنه حالا میخاد یک نفر آنلاین باشه یا 10000 نفر،اینطوری نیس که فک میکنی که مثلا اگه خیلی با هم آن بشن و کلی سشن ایجاد بشه سشن های قبلی از بین بره !!! :لبخندساده:



و اینکه درخصوص اهمیت static در شی گرایی با C# مطلب خاصی نیست ؟

این و نمیدونم، بلد نیستم :ناراحت:

alireza.tabesh
یک شنبه 05 آبان 1392, 08:49 صبح
خیلی ممنون از راهنمایی های خوبت. و اما چند سوال دیگه :
1- آیا سشن موارد استفاده دیگری هم داره ؟
2- تعداد کاربر های آنلاین روی سرعت تأثیری نداره؟ سشن سمت سرور نگهداری میشه ؟

fakhravari
دوشنبه 06 آبان 1392, 18:27 عصر
اين 2 موضوع با هم فرق داره.
سشن متغير سراسري است.
اما static يك تعريف شي بدون نمونه گيري از اون .
آيا در برنامه هاي ويندوزي سشن داريم كه اونو با همچين چيزي مقايسه كردين.
از نظر حفظ اطلاعات هم نميتوان با هم مقايسه كرد.

mRizvandi
دوشنبه 06 آبان 1392, 20:39 عصر
در شی گرایی برای ساخت یک نمونه از یک کلاس شما باید اون رو ایجاد کنید. اما می تونید از کلاسهای استاتیک هم استفاده کنید که نیازی به ایجاد نمونه نیست.



Public static class SDateConvertor
{
ConvertDate(DateTime date) {...}
...}


Public class MDateConvertor
{
ConvertDate(DateTime date) {...}
...}


استفاده از کلاس استاتیک نیازی به ساخت نمونه اوله نداره، ولی برای استفاده از کلاس دوم باید نمونه شی اون رو بسازید:



string hdate1 = SDateConvertor.ConvertDate(DateTime.Now);

MDateConvertor mdateConvertor = new MDateConvertor();
string hdate2 = MDateConvertor.ConvertDate(DateTime.Now);