1 / 12

Design pattern

Design pattern. WATTANAPONG SUTTAPAK Software Engineering, School of Information Communication Technology, University of PHAYAO. จุดประสงค์การเรียนรู้. เข้าใจถึงความหมายของแบบรูปการออกแบบ เข้าใจถึง ที่มาและความสำคัญ ของแบบรูปการออกแบบ จำแนกแบบรูปการออกแบบทั้ง 3 ประเภทได้.

Download Presentation

Design pattern

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design pattern WATTANAPONGSUTTAPAK Software Engineering, School of Information Communication Technology, University of PHAYAO

  2. จุดประสงค์การเรียนรู้จุดประสงค์การเรียนรู้ • เข้าใจถึงความหมายของแบบรูปการออกแบบ • เข้าใจถึงที่มาและความสำคัญของแบบรูปการออกแบบ • จำแนกแบบรูปการออกแบบทั้ง 3 ประเภทได้

  3. Design pattern ถูกพัฒนาขึ้นมาจากกลุ่มของคนสี่คน(Gang of four)โดยถูกเรียบเรียงในหนังสือ เรื่อง “Design Pattern : Elements of Reusable Object-Oriented Software” (Gamma, et. al. 1995) • จุดประสงค์เพื่อช่วยแก้ปัญหาในด้านการเขียนโปรแกรมเชิงวัตถุ โดยการสร้างรูปแบบของความสัมพันธ์ของคลาส มีทั้งหมด 23 รูปแบบ โดยสามารถแบ่งกลุ่มเป็น 3 กลุ่มได้แก่ 1. Creational ตามการสร้างวัตถุหรือคลาส 2. Structuralตามส่วนประกอบของวัตถุหรือคลาส 3. Behavioralตามความสัมพันธ์ระหว่างวัตถุหรือคลาส

  4. Group of Design Pattern

  5. Simuduck app Manc: simulation game, SimUDuck. The game can show : • duck species swimming • making quacking sound Initial designer of the system : OO techniques one Duck superclass was inherited to other duck

  6. Simuduck app In the last year, company : under increasing pressure from competitors After brainstorming : big innovation

  7. Simuduck app The Answer : Flying duck executive : flying duck can blow away from duck competitors

  8. Simuduck app • But something went horribly wrong... • All of ducks can fly and quack

  9. Simuduck app • Solve : Override method • RubberDuck quack(){ do nothing… } • DecoyDuck quack(){ squeak } display() fly(){ do nothing… } display() fly(){ do nothing… }

  10. Simuduck app • inheritance not solved : executive want to update product every 6 months • what’s the problem : some ducks can fly, quack, squeak,… • interface class • what do you thing about design?

  11. Simuduck app • What would you do if you were Manc?

  12. Strategy Pattern Simuduck app

More Related