واضح آرشیو وب فارسی:سایت ریسک: معرفی کتاب در زمینه DesignPatern - می خواهیم این PDF را به صورت گروهی ترجمه کنیم DaDaDooDoo 11 شهريور 1389, 02:27سلام . چند وقت پیش بحثی در مورد Design Pattern در Action Script 3 مطرح شد. تعدای از دوستان خواستن اطلاعات بیشتری در موردش داشته باشند و من هم این کتاب رو توی هاردم پیدا کردم ، می زارم که کسایی که می خوان استفاده کنند . فقط قبلش یه توضیح کلی در مورد این کتاب و همینطور Design Pattern می دم (در حد سواد خودم ) تا دوستان بیشتر آشنا بشن . کتاب ، کتاب سنگینی هست (حداقل برای افراد متوسط ) و توضیحش هم عمراً کار من نیست ، پس من خیلی خلاصه و در حد چیزی که بلدم توضیح می دم و بقیش دیگه با خودتون . این کتاب اول سه مفهوم اصلی در برنامه نویسی Object Oriented یا همون OOP یا همون شیء گرا رو توضیح داده که عبارتند از : Inheritance : همون بحث وارث و ارث بردن و ... که احتمالاً اکثراً باهاش آشنا هستید . مثلاً کلاس MovieClip از کلاس DisplayObject ، اکستند شده و از خصوصیات ( method و property ) اون رو به ارث برده . مثل width و height و ... و یکسری خصوصیات منحصر به فرد خودش هم داره . مثلاً Sprite و MovieClip هر دو DisplayObject هستند و یکسری خصوصیات مشترک دارند اما تفاوت ها یی هم دارند . (مثل شما و برادرتون که هر دو از یک پدر هستید و خصوصیات شبیه هم دارید ، اما تفاوت هایی هم با هم دارید مثل قد و وزن و ...) Encapsulation : که در واقع به بهینه سازی کلاس ها ، برنامه ها و کارآمدی اون ها اشاره داره . در واقع هر چی شما کلاستون یا برنامتون رو بهینه تر بنویسید استفاده از اون راحت تر و قابل فهم تر می شه . مثلاً کلاس Scroll هادی متال . شما فقط چند تا پارامتر بهش پاس می دین و بقیه کار ها رو خودش انجام میده . بدونه اینکه شما بدونید پشت پرده چه اتفاقی داره میفته و شما اگه فقط طرز کار اون کلاس و طریقه استفادش رو بلد باشید حله و دیگه لازم کیست بدونید هادی متال این کلاس رو چجوری نوشته ... و این کلاس قابلیت این رو هم داره که تو هر پروژه ای از اون استفاده کنید . کلاس یک بار نوشته شده اما به هر تعداد که بخواید ازش استفاده می کنید . Polymorphism : چند ریختی . توضیحش کمی سخته اما با یک مثال ساده توضیحش می دم . شما یک کلاس نوشتید به اسم animal و چند تا حیوان توش تعریف کردید . اسب ، گربه ، سگ و خرس . حالا وقتی می خواهید به متد سگ دسترسی داشته باشید دیگه نمی گید : var MyAnimal:animal = new animal(); MyAnimal.Dog(); بلکه از این طریق عمل می کنید : var MyDog:animal = new Dog(); var MyCat:animal = new Cat(); و بعد Design Pattern : دیزاین پترن ها تکنیک هایی هستند که در پروژه های بزرگ کاربرد دارند و کار رو آسون تر می کنند . انواع پترن ها هستند که توی این کتاب معرفی شدن . اما دوتا از معروف ترین ها singletone و MVC هستند . singleton-1 : مثال بارزش کلاس TweenMax هست که احتمالاً همه می شناسید . شما لازم نیست از TweenMax نمونه بسازید و بعد ازش استفاده کنید . به صورت زیر ازش استفاده می کنید : TweenMax.to(ObjectName , 1 , {alpha : 0}); ظرف مدت 1 ثانیه آلفای آبجکت مورد نظر 0 می شه . وقتی شما می گید TweenMax.to مثل این می مونه که از کلاس TweenMax یک نمونه جدید ساختید و به تابع constructor اون پارامترهای لازم رو پاس دادید . این کار توسط پترن singletone پیاده سازی شده . MVC(Model , View , Control) -2 همونطور که از اسمش پیداست از سه قسمت اصلی Model , View و Control تشکیل شده و کار مدیریت پروژه توسط این سه بخش انجام میشه . Model : که بیس برنامه و اطلاعات اصلی و بدنه کلاس یا برنامه در اون هست . View : که به بخش User Interface مربوط می شه یعنی بخش رابط کاربری رو مدیریت می کنه (مثلاً دکمه ها) . Control : که وظیفه مدیریت داده های ارسالی از طرف کاربر و نشوندن این داده ها در بدنه برنامه رو داره . البته پترن ها بیشتر توی پروژه های بزرگ (مثلاً بازی) استفاده می شن و توی پروژه های کوچیک مثل یه وبسایت معمولی نه تنها مفید نیستند بلکه باعث پیچیدگی کار هم میشن . خوب تا اینجا خودم به زور فهمیدم چی دارم می گم ، اگه بیشتر بخوام توضیح بدم دیگه خودم هم نمی فهمم چی دارم میگم چه برسه به مخاطب بنده خدا ... اگه توضیحات ناقص هستند یا ضعیفند به بزرگی خودتون ببخشید . در حد توانم و سوادم بود . البته اگر اشتباه نکنم توضیحات مربوط به OOP رو توی تاپیک آموزش اکشن 3 به صورت کاملتر و بهتر دوستان قرار دادند ، من یه توضیح مختصر دادم چون توی این کتاب مطرح شده بود. لینک دانلود کتاب : موفق باشید . sdm 11 شهريور 1389, 10:25به نظزتون یادگیری این کتاب میتونه تاثیر زیادی تو ساخت پروژه ها داشته باشه؟ یعنی وقت گذاشتن برا یادگرفتنش به فایدش می ارزه؟ DaDaDooDoo 11 شهريور 1389, 10:38به نظزتون یادگیری این کتاب میتونه تاثیر زیادی تو ساخت پروژه ها داشته باشه؟ یعنی وقت گذاشتن برا یادگرفتنش به فایدش می ارزه؟ همون طور که عرض کردم به پروژتون بستگی داره . شما باید درک و تجربه این رو داشته باشید که چه موقع بهتره مثلاً singleton استفاده کنید یا مثلاً چه موقع از MVC ، یا اصلاً استفاده نکنید بهتره ... ! قبلاً هم گفتم مثلاً برای پروژه های وبسایت و مالتی مدیا ی معمولی اصلاً سمتش نرید بهتره . البته توی این کتاب توضیح داده که از این پترن ها بهتره چه موقع استفاده کنید . در این مورد که یادگیریش به درد می خوره یا نه باید عرض کنم 100% به درد می خوره ، شک نکنید ، اما نکته ای که وجود داره اینه که چه زمانی برای یادگیری این مطالب اقدام می کنید ، اگر مبتدی هستید که الان وقتش نیست و خواندن مطالب این کتاب می تونه شما رو سر در گم کنه و حتی به خاطر سنگین بودنش از Action Script زده بشید ، چون وقتی باید این کتاب رو بخونید که درک واقعاً خوبی از مباحث OOP داشته باشید و دیگه توی مباحثی مثل کلاس نویسی و ... این داستانا گیر نداشته باشید. من این کتاب رو بیشتر به افراد متوسط و حرفه ای تر پیشنهاد می کنم . موفق باشید . ++Hadi++ 11 شهريور 1389, 11:48مرسی از لطفت کوروش عزیز... بای... kodex2 30 شهريور 1389, 02:23Design pattern ها بحث سنگینی نیست ولی تجربه نیاز داره استفاده ازش. یه برنامه نویس خوب هرچه حرفه ای تر بشه از پیچیدگی دوری می کنه در عین حال منطقی تر کد میزنه. مامولا به اسم Simple To Do ازش یاد می کنن. از کورش عزیز که خودمم خیلی دوسش دارم تشکر می کنم بخاطر پستش ممنونم. فقط خواستم یه سری چیز ها رو اضافه کنم به توضیحاتش. pattern ها یه سری راه حل واسه بعضی مشکلات استفاده می شدن و بالاخره دامنش به برنامه نویسی هم کشیده شد. استفاده بموقع و درست از یه pattern می تونه از مشکلات و اشباهات دورتون کنه یا برعکس، استفاده اشتباه ازش می تونه مدهای سادتون رو اینقدر پیچیده کنه که منطق کارتون بهم بخوره. استاندارد کار کردن نتیجش توی طولانی مدت مشخص میشه. نه زدن و جم کردن یه پروژه یا یه سمپل. بازم تشکر می کنم از کورش و بقیه بچه ها. DaDaDooDoo 30 شهريور 1389, 02:27ممنون از مهران عزیز که شخصاً هرچی که بلدم رو مدیون ایشون هستم :rose: برای دیدن یک نمونه ای از پترن ها به اینجا مراجعه کنید : (پست 9 ) کلاس FitScreen رو آپدیت کردم و از Singletone در اون استفاده کردم . ++Hadi++ 30 شهريور 1389, 19:40سعی می کنم یه برنامه ای رو واسه ترجمه این کتابا بچینم ... ترجمه درون سایتی ... با همت بچه ها ... هر کی از قابل اعتمادا یه تیکشو ترجمه کنه ببین چی می شه ... من شخصا یه قسمت 30 صفحه ایشو ترجمه می کنم آخه ببخشین کار pdf ترجمه زیاد دارم ...بای... DaDaDooDoo 30 شهريور 1389, 20:17رو من واسه ترجمه حساب کن ... ++Hadi++ 30 شهريور 1389, 20:28پایه های یه ترجمه عمومی بیان وسط .... آی کتاب ترجمه می کنیم ...:mad: kodex2 30 شهريور 1389, 20:40اگه آب حوز و پیرزن و اینا داشتین بگین به ما .... یه کلاس نوشتم این کارو می کنه ...:cool: DaDaDooDoo 30 شهريور 1389, 20:45یه کلاس نوشتم این کارو می کنه چی کار می کنه ؟ kodex2 31 شهريور 1389, 07:17یه متد داره به اسم KillProperty که توی این می ری هرچی بخواهی add می کنی خودش نوعش رو متوجه می شه به نصبت اون یه رفتار خاص انجام میده. مثلا اگه پیرزن باشه خفش می کنه .... :shock: سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 488]