DaDaDooDoo
کاربر VIP
سلام .
چند وقت پیش بحثی در مورد Design Pattern در Action Script 3 مطرح شد. تعدای از دوستان خواستن اطلاعات بیشتری در موردش داشته باشند و من هم این کتاب رو توی هاردم پیدا کردم ، می زارم که کسایی که می خوان استفاده کنند .
فقط قبلش یه توضیح کلی در مورد این کتاب و همینطور Design Pattern می دم (در حد سواد خودم ) تا دوستان بیشتر آشنا بشن .
کتاب ، کتاب سنگینی هست (حداقل برای افراد متوسط ) و توضیحش هم عمراً کار من نیست ، پس من خیلی خلاصه و در حد چیزی که بلدم توضیح می دم و بقیش دیگه با خودتون .
این کتاب اول سه مفهوم اصلی در برنامه نویسی Object Oriented یا همون OOP یا همون شیء گرا رو توضیح داده که عبارتند از :
Inheritance :
همون بحث وارث و ارث بردن و ... که احتمالاً اکثراً باهاش آشنا هستید . مثلاً کلاس MovieClip از کلاس DisplayObject ، اکستند شده و از خصوصیات ( method و property ) اون رو به ارث برده . مثل width و height و ... و یکسری خصوصیات منحصر به فرد خودش هم داره . مثلاً Sprite و MovieClip هر دو DisplayObject هستند و یکسری خصوصیات مشترک دارند اما تفاوت ها یی هم دارند . (مثل شما و برادرتون که هر دو از یک پدر هستید و خصوصیات شبیه هم دارید ، اما تفاوت هایی هم با هم دارید مثل قد و وزن و ...)
Encapsulation :
که در واقع به بهینه سازی کلاس ها ، برنامه ها و کارآمدی اون ها اشاره داره . در واقع هر چی شما کلاستون یا برنامتون رو بهینه تر بنویسید استفاده از اون راحت تر و قابل فهم تر می شه . مثلاً کلاس Scroll هادی متال . شما فقط چند تا پارامتر بهش پاس می دین و بقیه کار ها رو خودش انجام میده . بدونه اینکه شما بدونید پشت پرده چه اتفاقی داره میفته و شما اگه فقط طرز کار اون کلاس و طریقه استفادش رو بلد باشید حله و دیگه لازم کیست بدونید هادی متال این کلاس رو چجوری نوشته ... و این کلاس قابلیت این رو هم داره که تو هر پروژه ای از اون استفاده کنید . کلاس یک بار نوشته شده اما به هر تعداد که بخواید ازش استفاده می کنید .
Polymorphism :
چند ریختی . توضیحش کمی سخته اما با یک مثال ساده توضیحش می دم . شما یک کلاس نوشتید به اسم animal و چند تا حیوان توش تعریف کردید . اسب ، گربه ، سگ و خرس . حالا وقتی می خواهید به متد سگ دسترسی داشته باشید دیگه نمی گید :
بلکه از این طریق عمل می کنید :
و بعد Design Pattern :
دیزاین پترن ها تکنیک هایی هستند که در پروژه های بزرگ کاربرد دارند و کار رو آسون تر می کنند .
انواع پترن ها هستند که توی این کتاب معرفی شدن . اما دوتا از معروف ترین ها singletone و MVC هستند .
singleton-1 :
مثال بارزش کلاس TweenMax هست که احتمالاً همه می شناسید . شما لازم نیست از TweenMax نمونه بسازید و بعد ازش استفاده کنید . به صورت زیر ازش استفاده می کنید :
ظرف مدت 1 ثانیه آلفای آبجکت مورد نظر 0 می شه .
وقتی شما می گید TweenMax.to مثل این می مونه که از کلاس TweenMax یک نمونه جدید ساختید و به تابع constructor اون پارامترهای لازم رو پاس دادید . این کار توسط پترن singletone پیاده سازی شده .
MVC(Model , View , Control) -2
همونطور که از اسمش پیداست از سه قسمت اصلی Model , View و Control تشکیل شده و کار مدیریت پروژه توسط این سه بخش انجام میشه .
Model : که بیس برنامه و اطلاعات اصلی و بدنه کلاس یا برنامه در اون هست .
View : که به بخش User Interface مربوط می شه یعنی بخش رابط کاربری رو مدیریت می کنه (مثلاً دکمه ها) .
Control : که وظیفه مدیریت داده های ارسالی از طرف کاربر و نشوندن این داده ها در بدنه برنامه رو داره .
البته پترن ها بیشتر توی پروژه های بزرگ (مثلاً بازی) استفاده می شن و توی پروژه های کوچیک مثل یه وبسایت معمولی نه تنها مفید نیستند بلکه باعث پیچیدگی کار هم میشن .
خوب تا اینجا خودم به زور فهمیدم چی دارم می گم ، اگه بیشتر بخوام توضیح بدم دیگه خودم هم نمی فهمم چی دارم میگم چه برسه به مخاطب بنده خدا ...
اگه توضیحات ناقص هستند یا ضعیفند به بزرگی خودتون ببخشید . در حد توانم و سوادم بود .
البته اگر اشتباه نکنم توضیحات مربوط به OOP رو توی تاپیک آموزش اکشن 3 به صورت کاملتر و بهتر دوستان قرار دادند ، من یه توضیح مختصر دادم چون توی این کتاب مطرح شده بود.
لینک دانلود کتاب :
http://www.persiangig.com/pages/dow...tionScript 3 0 Design Patterns - O'Reilly.pdf
موفق باشید .
چند وقت پیش بحثی در مورد Design Pattern در Action Script 3 مطرح شد. تعدای از دوستان خواستن اطلاعات بیشتری در موردش داشته باشند و من هم این کتاب رو توی هاردم پیدا کردم ، می زارم که کسایی که می خوان استفاده کنند .
فقط قبلش یه توضیح کلی در مورد این کتاب و همینطور Design Pattern می دم (در حد سواد خودم ) تا دوستان بیشتر آشنا بشن .
کتاب ، کتاب سنگینی هست (حداقل برای افراد متوسط ) و توضیحش هم عمراً کار من نیست ، پس من خیلی خلاصه و در حد چیزی که بلدم توضیح می دم و بقیش دیگه با خودتون .
این کتاب اول سه مفهوم اصلی در برنامه نویسی Object Oriented یا همون OOP یا همون شیء گرا رو توضیح داده که عبارتند از :
Inheritance :
همون بحث وارث و ارث بردن و ... که احتمالاً اکثراً باهاش آشنا هستید . مثلاً کلاس MovieClip از کلاس DisplayObject ، اکستند شده و از خصوصیات ( method و property ) اون رو به ارث برده . مثل width و height و ... و یکسری خصوصیات منحصر به فرد خودش هم داره . مثلاً Sprite و MovieClip هر دو DisplayObject هستند و یکسری خصوصیات مشترک دارند اما تفاوت ها یی هم دارند . (مثل شما و برادرتون که هر دو از یک پدر هستید و خصوصیات شبیه هم دارید ، اما تفاوت هایی هم با هم دارید مثل قد و وزن و ...)
Encapsulation :
که در واقع به بهینه سازی کلاس ها ، برنامه ها و کارآمدی اون ها اشاره داره . در واقع هر چی شما کلاستون یا برنامتون رو بهینه تر بنویسید استفاده از اون راحت تر و قابل فهم تر می شه . مثلاً کلاس Scroll هادی متال . شما فقط چند تا پارامتر بهش پاس می دین و بقیه کار ها رو خودش انجام میده . بدونه اینکه شما بدونید پشت پرده چه اتفاقی داره میفته و شما اگه فقط طرز کار اون کلاس و طریقه استفادش رو بلد باشید حله و دیگه لازم کیست بدونید هادی متال این کلاس رو چجوری نوشته ... و این کلاس قابلیت این رو هم داره که تو هر پروژه ای از اون استفاده کنید . کلاس یک بار نوشته شده اما به هر تعداد که بخواید ازش استفاده می کنید .
Polymorphism :
چند ریختی . توضیحش کمی سخته اما با یک مثال ساده توضیحش می دم . شما یک کلاس نوشتید به اسم animal و چند تا حیوان توش تعریف کردید . اسب ، گربه ، سگ و خرس . حالا وقتی می خواهید به متد سگ دسترسی داشته باشید دیگه نمی گید :
PHP:
var MyAnimal:animal = new animal();
MyAnimal.Dog();
بلکه از این طریق عمل می کنید :
PHP:
var MyDog:animal = new Dog();
var MyCat:animal = new Cat();
و بعد Design Pattern :
دیزاین پترن ها تکنیک هایی هستند که در پروژه های بزرگ کاربرد دارند و کار رو آسون تر می کنند .
انواع پترن ها هستند که توی این کتاب معرفی شدن . اما دوتا از معروف ترین ها singletone و MVC هستند .
singleton-1 :
مثال بارزش کلاس TweenMax هست که احتمالاً همه می شناسید . شما لازم نیست از TweenMax نمونه بسازید و بعد ازش استفاده کنید . به صورت زیر ازش استفاده می کنید :
PHP:
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 به صورت کاملتر و بهتر دوستان قرار دادند ، من یه توضیح مختصر دادم چون توی این کتاب مطرح شده بود.
لینک دانلود کتاب :
http://www.persiangig.com/pages/dow...tionScript 3 0 Design Patterns - O'Reilly.pdf
موفق باشید .
آخرین ویرایش: