PDA

View Full Version : سوال: نحوه پیاده سازی یک سناریو



اوبالیت به بو
چهارشنبه 06 آبان 1388, 18:31 عصر
سلام بر دوستان
یه سوالی دارم که هیچ جوابی براش پیدا نکردم امیدوارم شما کمکم کنید:
در یک نرم افزاز تحت وب متغیری وجود داره که جز خصوصیات اختصاصی یک شی است(مثل Password) ولی در روال سناریو طوری تعریف شده است که در طول برنامه ممکن است چندین بار به آن دسترسی داشته باشیم. چگونه این سناریو را پیاده کنم؟

behnam-s
چهارشنبه 06 آبان 1388, 23:45 عصر
استفاده از session یا viewstate یا .. کمکی می کنه؟
کمی توضیح بدین که مشکل چیه.

اوبالیت به بو
پنج شنبه 07 آبان 1388, 01:20 صبح
با دقت بخونيد، لطفاً

Aidin
پنج شنبه 07 آبان 1388, 08:42 صبح
منظورتون از چگونه چیه ؟ لطفا توضیح بیشتری بدین.
آیا از این شی تعداد زیادی تولید میشه در برنامه ؟ آیا مشکل خاصی رو فکر میکنید باهاش روبرو بشین ؟

اوبالیت به بو
پنج شنبه 07 آبان 1388, 09:58 صبح
وقتی در تحلیل متوجه خصوصی بودن یک متغییر یا خصیصه میشیم باید اون رو Public یا Protected قرار بدیم. از طرفی ممکنه بخوایم همون خصوصیت و مقدار دهی کنیم. چون از این کلاس تعداد زیادی شی در جاهای مختلف ساخته میشه صحیح نیست بار اضافی Set,Get رو هم به سیستم اضافه کنیم. چه روش دیگه ای رو پیشنهاد میکنید؟
راستی اینکه چون شی در زمانی که ساخته میشه مقداری برای این خصیصه داره نمی شه تو Constructor بهش مقدار داد

mahdi_farhani
پنج شنبه 07 آبان 1388, 17:40 عصر
وقتی در تحلیل متوجه خصوصی بودن یک متغییر یا خصیصه میشیم باید اون رو Public یا Protected قرار بدیم.
اگر خصوصی هست ، چطور Public یا Protected قرار میدی ؟؟؟؟؟


از طرفی ممکنه بخوایم همون خصوصیت و مقدار دهی کنیم. چون از این کلاس تعداد زیادی شی در جاهای مختلف ساخته میشه صحیح نیست بار اضافی Set,Get رو هم به سیستم اضافه کنیم.
میشه بگید چه بار به سیستم وارد میشه ؟

اگر میشه بیشتر مشکلت رو توضیح بده ؟حداقل با یک مثال

اوبالیت به بو
شنبه 09 آبان 1388, 09:56 صبح
اگر خصوصی هست ، چطور Public یا Protected قرار میدی ؟؟؟؟؟
من معذرت می خوام اشتباه کردم. متغیر رو باید Private قرار بدیم.

میشه بگید چه بار به سیستم وارد میشه ؟
خیلی راحته وقتی با Set و Get یه Property تعریف می کنیم یه کپی در حافظه بین Private و Class ساخته میشه و این بار اضافی رو سیستم میاره.

dr_csharp
شنبه 09 آبان 1388, 10:15 صبح
خیلی راحته وقتی با Set و Get یه Property تعریف می کنیم یه کپی در حافظه بین Private و Class ساخته میشه و این بار اضافی رو سیستم میاره.

با سلام
متاسفانه خيلي متوجه اين جمله نميشم..فكر ميكنم بهتر باشه واضحتر بيان كنيد.
اما آنچه مشخص است :
نكته اول اينكه تعريف private‌ و public‌ به نوع دسترسي برميگرده و نه نحوه ذخيره سازي در حافظه.
نكته دوم، خود microsoft‌ به استفاده از property‌ توصيه كرده تا جاييكه درC#3 به بعد يك قابليتي ارايه شده بنام Auto Property‌ .در اينجا ديگه نياز به تعريف متغير private‌ وجود نداره و كافيه property‌ تعريف بشه و در زمان compile‌ خودش يك private‌ براش در نظر ميگيره.

اوبالیت به بو
شنبه 09 آبان 1388, 11:21 صبح
نكته اول اينكه تعريف private‌ و public‌ به نوع دسترسي برميگرده و نه نحوه ذخيره سازي در حافظه.
کی گفته؟
چطور میشه که دسترسی متقاوت باشه ولی نحوه ی نگه داری در حافظه متفاوت نباشه.
از طرفی بحث من ایجاد کپی برای هر متفییر pRIVATE بعد از اینکه تبدیل به Property شد هستش.

خود microsoft‌ به استفاده از property‌ توصيه كرده
بله ولی برای چه سیستمی؟؟؟؟؟؟؟؟؟
قطعا از یک تکنولوژی یا خصیصه همه جا نمی شه استفاده کرد.

تا جاييكه درC#‎3 به بعد يك قابليتي ارايه شده بنام Auto Property‌ .
ساختارش چیه؟
logic این قابلیت چیه؟

dr_csharp
شنبه 09 آبان 1388, 18:46 عصر
چطور میشه که دسترسی متقاوت باشه ولی نحوه ی نگه داری در حافظه متفاوت نباشه.
از طرفی بحث من ایجاد کپی برای هر متفییر pRIVATE بعد از اینکه تبدیل به Property شد هستش.
نگهداري به value type‌ و reference type‌ بودنش برميگرده كه يا تو heap‌هست يا stack‌ و دسترسي مشخصه و تفاوت در طول عمر code segment هست.


ساختارش َAuto property چیه؟
ساختار همون ساختار قبليه با اين تفاوت كه به كدنويسيه كمتري نيازه و compiler‌ خودش براتون private‌رو ميسازه.اگر به جزييات بيشتر علاقه دارين مطالعه كنيد.


بله ولی برای چه سیستمی؟؟؟؟؟؟؟؟؟
شما راهنمايي كنيد و refrence بدين كجا از property ‌استفاده نكنيم بهتره.

موفق باشين

alimokhlesi
چهارشنبه 13 آبان 1388, 10:23 صبح
dr_csharp (http://barnamenevis.org/forum/member.php?u=49661) یه توضیح بدید پروپرتیز چه جوری داره کار میکنه؟ البته سینتکس برام مطرح نیست

یه توضیح هم بفرمایید که از نظر سیستمی این دسترسی ها چه طور پیاده میشن
:)

اوبالیت به بو
پنج شنبه 14 آبان 1388, 18:13 عصر
به روز رساني تايپيك