ورود

View Full Version : کپسوله سازی



اوبالیت به بو
دوشنبه 06 اسفند 1386, 17:26 عصر
سلام
مفهوم کپسوله سازی یا EnCapsulation چی هستش؟من نمی دونم.
اگه میشه یه توضیح کاملی راجبش به من بدید. خیلی ممنون.

sinpin
دوشنبه 06 اسفند 1386, 18:11 عصر
سلام
مفهوم کپسوله سازی یا EnCapsulation چی هستش؟من نمی دونم.
اگه میشه یه توضیح کاملی راجبش به من بدید. خیلی ممنون.
http://en.wikipedia.org/wiki/Encapsulation_%28classes_-_computers%29

رضا عربلو
دوشنبه 06 اسفند 1386, 18:25 عصر
بطور خلاسه :
کپسوله سازی کمک می کند تا کاربران کتابخانه شما بدون دانستن جزئیات نحوه پیاده سازی آن، به راحتی بتوانند از آن استفاده کنند.

اوبالیت به بو
دوشنبه 06 اسفند 1386, 19:42 عصر
بطور خلاسه :
کپسوله سازی کمک می کند تا کاربران کتابخانه شما بدون دانستن جزئیات نحوه پیاده سازی آن، به راحتی بتوانند از آن استفاده کنند.
چرا کاربران نباید از جزییات اون باخبر بشن؟ آیا بدلیل سورس بودن اون هست؟

vcldeveloper
دوشنبه 06 اسفند 1386, 21:38 عصر
چرا کاربران نباید از جزییات اون باخبر بشن؟ آیا بدلیل سورس بودن اون هست؟
چون نیازی ندارند. شماره برای کار کردن با تلفن خونتون باید بدونید چطور با شماره گیرش کار کنید و گوشی رو به دست بگیرید، نیازی ندارید که مهندس الکترونیک و مخابرات باشید تا بتونید یه زنگ به دوستتون بزنید.
برنامه نویسی هم که از کلاس شما استفاده میکنه، لزومی نداره بدونه کلاس شما چطور خواسته اون رو فراهم میکنه، مهم اینه که خواسته اش برآورده بشه. مثلا توی یک پروژه نرم افزاری بزرگ وقتی بخش امنیت کلاس هایی را در اختیار سایر بخش ها قرار میده تا با استفاده از آنها امور مربوط به امنیت را استفاده کنند، سایر بخش ها نیازی ندارند که بدونند بخش امنیت چطور این کلاس رو تولید کرده. از طرفی این ویژگی باعث میشه که دست شما برای تغییرات داخلی در کلاس باز باشه، چون دیگران درگیر جزئیات کلاس شما نیستند، تا زمانی که رابطی که بهشون دادید تغییر نکرده، شما می تونید هر طور خواستید اجزاء داخلی کلاس رو تغییر بدید. مثلا همین سیستم تلفن در طول سالها تغییرات زیادی کرده، ولی روش استفاده شما از تلفن به همون شکل سابق باقی مونده، چون شما درگیر فرایند های داخلی برقراری یک تماس تلفنی نیستید