Software Framework & Design Pattern

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เรื่อง การภาวะโลกร้อน
Advertisements

รายละเอียดวิชา ง การงานพื้นฐาน4(คอมพิวเตอร์2)
ภาษา JAVA.
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
หน่วยการเรียนรู้ที่ 5 เรื่อง หลักการทำงานของคอมพิวเตอร์
The Development of Document Management System with RDF
เทคนิคการเขียน หนังสือราชการ
   ฮาร์ดแวร์ (Hardware)               ฮาร์ดแวร์เป็นองค์ประกอบสำคัญของระบบสารสนเทศ หมายถึง เครื่องคอมพิวเตอร์ อุปกรณ์รอบข้าง รวมทั้งอุปกรณ์สื่อสารสำหรับเชื่อมโยงคอมพิวเตอร์เข้าเป็นเครือข่าย.
การศึกษารายกรณี.
บทที่ 1 เทคโนโลยีและนวัตกรรมทางการศึกษา
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม GUI
การพัฒนาการใช้งานในระบบเว็บ
ซอฟต์แวร์.
ความรู้เกี่ยวกับคอมพิวเตอร์
องค์ประกอบ e-Learning และ WBI
องค์ประกอบพื้นฐาน ของโปรแกรม Visual Basic
Web Application Framework with MVC
การสื่อสารทางไกลและเครือข่าย (Telecommunication And Networks)
ระบบสนับสนุนการตัดสินใจ (Decision Support System)
ความรู้เบื้องต้นเกี่ยวกับนโยบายสาธารณะและการ วิเคราะห์นโยบาย
Surachai Wachirahatthapong
Selected Topics in IT (Java)
ซอฟต์แวร์คอมพิวเตอร์ในการวิเคราะห์โครงสร้าง
กิจกรรมที่ 2 ลักษณะสำคัญของเทคโนโลยีสารสนเทศและการสื่อสาร
Chapter 2 Database systems Architecture
องค์ประกอบของคอมพิวเตอร์
สื่อการเรียนการสอน.
Inheritance การสืบทอดคลาส
บทที่ 12 การเปลี่ยนแปลง และการพัฒนาองค์การ.
เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม Java
System Integration.
การพัฒนาระบบสารสนเทศ (Information System Development)
องค์ประกอบทางด้านซอฟต์แวร์
ภาษาจาวาสคริปต์ ง การเขียนไดนามิกเว็บเพจ ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
ที่ใช้ใน Object-Oriented Design
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ทบทวนทฤษฎีหลักสูตร ดร.อมรา เขียวรักษา.
การเลือกและปรับรูปทรงวัตถุ การเลือกและปรับรูปทรงวัตถุ
รู้จักกับTimeline, Layer และ Scene รู้จักกับTimeline, Layer และ Scene
Object-Oriented Programming
Object Oriented Analysis and Design
chatper 2 Software Requirement
การนำระบบเทคโนโลยีสารสนเทศมาสนับสนุนการทำงาน
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
โปรแกรมฐานข้อมูลที่นิยมใช้
WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 4 analysis of algorithm efficiency.
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
Course outline Software Architecture and Design
การแบ่งหนังสือออกตามลักษณะการจัดทำและความเหมาะสมของผู้อ่านแต่ละกลุ่ม
Sequence Diagram Communication Diagram
Activity Diagram Wattanapong suttapak, Software Engineering,
การออกแบบส่วนติดต่อกับผู้ใช้ User Interface Design
Object Oriented Programming : OOP
หลักการเขียนโปรแกรม ( )
รูปร่างเครือข่ายคอมพิวเตอร์ จัดทำโดย เด็กชาย คณิศร อ้อยกลาง เลขที่ 36 ม.2/5 เสนอ อ.สายฝน เอกกันทา โรงเรียนจักรคำคณาทร จ.ลำพูน.
Design pattern WATTANAPONG SUTTAPAK Software Engineering,
การวิเคราะห์และออกแบบระบบ System Analysis and Design
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
ADDIE Model.
เทคโนโลยีสารสนเทศ.
เครื่องมือที่ใช้ JUnit4.8.1 on Eclipse SDK3.5.2 ขึ้นไป
ซอฟต์แวร์ (Softwarre)
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
วิชาคอมพิวเตอร์ คุณครูภาราดร ฟุ้งเฟื้อง
State Diagram Wattanapong suttapak, Software Engineering,
CHAPTER 1 INTRODUCTION TO JAVA WEB PROGRAMMING Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of.
MVC DESIGN PATTERN WATTANAPON G SUTTAPAK Software Engineering, School of Information Communication Technology, University of PHAYAO 1.
ใบสำเนางานนำเสนอ:

Software Framework & Design Pattern Wattanapong suttapak, Software Engineering, school of Information communication Tecnology, university of phayao

จุดประสงค์การเรียนรู้ เข้าใจความหมายของคำว่า กรอบงาน มีความเข้าใจเบื้องต้นเกี่ยวกับ กรอบงานในเชิงซอฟต์แวร์ มีความรู้ความเข้าใจเกี่ยวกับ แบบรูปการออกแบบ มีความรู้ความเข้าใจแบบรูปการออกแบบขั้นสูงได้

Software Framework สมมติถ้ามีคำสั่งให้ตัดกระดาษ ขนาด 4x6 สำหรับปริ้นท์รูปโปสการ์ด แน่นอนว่าทุกคนสามารถตัดได้ ถ้าเปลี่ยนคำสั่งใหม่ ให้ตัดกระดาษ ขนาด 4x6 ทั้งหมด 1000 แผ่น ทุกคนจะยังตัดอยู่หรือไม่? แน่นอนว่า มีบางคนใช้วิธีการตัดทีละแผ่น ไปจนครบ 1000 แผ่น แล้วคุณจะทำอย่างไร

Framework สมมติมีคนทำการสร้างกรอบ ขนาด 4x6 สำหรับครอบกระดาษ และทำการตัดทีละแผ่น หรือบางคนทำการสร้างเครื่องมือ สำหรับตัดกระดาษขนาด 4x6 ทั้งสองวิธี หรืออาจมีวิธีอื่น ที่สามารถตัดกระดาษ 4x6 ทั้ง 1000 แผ่น ทำให้เวลาที่ใช้ในการทำงานนี้น้อยลง

Framework นิยามของ Framework หมายถึง เครื่องมือที่ถูกสร้างขึ้น เพื่อพัฒนาการทำงานเดิมๆ ให้มีความ สะดวก รวดเร็ว ประหยัดเวลา อำนวยความสะดวกต่อผู้ใช้ สามารถ นำเครื่องมือที่สร้างนำกลับมาใช้ใหม่ได้(reusability,reuse)

Framework Software Framework .Net Framework(on Windows) Umbrella Framework(on OS X ) JSP Framework(AWT,Struts, Spring ,Play, Eclipse) Javascript Framework(dojo, Jquery, jQuery Mobile, SWFObject) CSS Framework(Bootstrap, PROFOUNDGRID, Tuktuk, Metro UI CSS ) AJAX Framework(jQuery, Prototype, Ext JS) PHP Framework(CAKE PHP, Code Igniter, Yii , Laravel ) ORM Framework(Hybernate, Yii, Code Igniter, Laravel )

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 แบบรูปที่มีลักษณะตามการโต้ตอบระหว่างวัตถุหรือคลาส

Group of Design Pattern Creational Structural Behavioral Abstract factory Builder Factory Prototype Singleton Adapter Bridge Composite Decorator Façade Flyweight Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template method Visitor

Creational Design Patterns จัดกลุ่มตามความสัมพันธ์ของการสร้างวัตถุหรือคลาส Design pattern ที่ใช้บ่อยในกลุ่มนี้ Factory Pattern Singleton Pattern

Factory Pattern มีรูปแบบเป็นการสร้างวัตถุหรือคลาส ตัวหลักขึ้นมา โดยบังคับให้ วัตถุหรือคลาสที่ต้องการเข้ามาติดต่อ ผ่านคลาสหรือวัตถุนั้นก่อน

Factory Pattern

Singleton Pattern เป็นรูปแบบสำหรับระบบที่ต้องการสร้างวัตถุหรือคลาสเพียง 1 วัตถุ (คลาส)เท่านั้น เช่น คลาสปรับแต่งระบบ Thread DialogBox เป็นต้น public class Singleton { private static Singleton instance = null; private Singleton() {} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; public void doAnyThing() { // do something

Structural Design Patterns จัดกลุ่มตามองค์ประกอบของวัตถุหรือคลาส Design pattern ที่ใช้บ่อยในกลุ่มนี้ Adapter Pattern Façade Pattern

Adapter Pattern เป็นรูปแบบการสร้างคลาสหรือวัตถุ เพื่อเป็นตัวกลางการทำงาน ระหว่าง คลาส(วัตถุ)หนึ่ง กับ อีกคลาส(วัตถุ)หนึ่ง ลองนึกภาพของแลปทอป 1 เครื่องจะไม่สามารถใช้งานได้(สมมติไม่มี แบตเตอรี่) ดังนั้นแลปทอปต้องมีการรับพลังงานไฟฟ้า ซึ่งแน่นอนว่าไม่สามารถนำไฟ บ้านเข้าสู่แลปทอปโดยตรง ทำให้ต้องมีตัวแปลงไฟจากไฟบ้านเข้าสู่แลปทอป ซึ่งเราเรียกว่า อะแดป เตอร์

Adapter Pattern

Facade Pattern เป็นรูปแบบของการสร้างคลาสสำหรับเป็นตัวแรกในการเข้าถึง คลาสหรือ วัตถุที่ต้องการเข้ามาติดต่อกับ คลาส(วัตถุ) หลายๆ คลาส(วัตถุ) จุดประสงค์เพื่อให้คลาสที่ต้องการเข้ามาติดต่อ ไม่ต้องยุ่งยากจากคลาส อื่นๆ หลายๆ คลาสที่ต้องการติดต่อ

Behavioral Design Patterns จัดกลุ่มตามพฤติกรรมการโต้ตอบและสื่อสารระหว่างวัตถุหรือคลาส Design pattern ที่ใช้บ่อยในกลุ่มนี้ Strategy Pattern Observer Pattern

Strategy Pattern เป็นรูปแบบที่ถูกสร้างเพื่อเป็นแม่แบบให้ คลาสหรือวัตถุที่มี ลักษณะเหมือนกันสืบทอดไปใช้ เพื่อให้เกิดเป็นมาตรฐานเดียวกัน ในการใช้งาน

Observer Pattern เป็นรูปแบบการสร้างคลาสสำหรับการรอรับการเปลี่ยนแปลงที่ เกิดขึ้นจากคลาสหรือวัตถุใดๆ โดยตัว คลาสที่ถูกสร้างเป็น observer นี้จะมีการส่งข้อความไปยังอีกคลาสหรือวัตถุหนึ่งที่รอรับ การเปลี่ยนแปลงจาก คลาสที่เปลี่ยนแปลง

Advance Design Pattern หนึ่งในการประยุกต์ใช้ design pattern ที่นิยมใช้กันคือ MVC [Glenn E. Krasner and Stephen T. Pope, “A cookbook for using the model-view controller user interface paradigm in Smalltalk-80”] แนวคิดนี้ถูกนำไปพัฒนาเฟรมเวิร์คในภาษาต่างๆ มากมายเพื่อ ช่วยให้การพัฒนาระบบรวดเร็วขึ้น MVC แบ่งเป็น 3 องค์ประกอบ ได้แก่ model – view - controller

MVC Design Pattern

MVC Design Pattern Model เป็นศูนย์กลางของโครงสร้างทั้งระบบ View เป็นส่วนของการแสดงผลของระบบ Controller เป็นส่วนของการเชื่อมต่อระหว่าง model หรือ view หรือ ข้อมูลขาเข้า(input) เช่น การคลิกเมาส์ การป้อนข้อมูลทาง คีย์บอร์ด เป็นต้น

MVC Design Pattern MVC on Yii Framework

จบเนื้อหา Framework & Design Pattern