SlideShare a Scribd company logo
1 of 16
Mẫu thiết kế
phần mềm:
Giới thiệu về
Design Pattern
Giảng viên: Lương Văn Minh
Trình bày: Trần Luân Hy
Design Pattern là gì?
Tại sao cần Design Pattern?
Khi nào
nên sử
dụng
Design
Patterns?
Để học Design
Patterns cần có gì?
Để học tốt Design Pattern bạn nắm
vững được Bốn đặc tính của OOP: Kế
thừa, Đa hình, Trừu tượng, Bao đóng.
Tiếp theo là hai khái niệm interface và
abstract
Bỏ tư duy theo lối cấu trúc, nâng tư
duy hoàn toàn OOP.
Học ở đâu?
Sách:
• Design Patterns: Elements of Reusable
Object-Oriented Software
• Head First Design Patterns
• Design Patterns For Dummies
• Pattern Hatching: Design Patterns
Applied.
• Refactoring to Patterns.
• Patterns of Enterprise Application
Architecture.
Các website
viết về
Design
Pattern:
• https://sourcemaking.com/design_patterns
• https://refactoring.guru
• https://www.tutorialspoint.com/design_pattern/index.htm
• https://www.javatpoint.com/design-patterns-in-java
• http://www.oodesign.com/
• http://java-design-patterns.com
• http://www.javacamp.org/designPattern/
• https://en.wikipedia.org/wiki/Software_design_pattern
• dotNet Design Patterns: https://www.dofactory.com/net/design-patterns
• Javascript Design Patterns: https://www.dofactory.com/javascript/design-patterns
Học Design
Pattern như
thế nào?
Để học tốt một Design Pattern bạn hãy
tập trung chú ý vào 3 phần sau:
• Nó được sử dụng khi nào, vấn đề mà
design pattern đó giải quyết là gì?
• Sơ đồ UML mô tả design pattern.
• Code minh họa, ứng dụng thực tiễn của
nó là gì?
Lời kết
Chúng ta nên nhớ rằng:
• Design patterns là 1 đoạn mô tả,
hoặc 1 khuôn mẫu để giải quyết 1
vấn đề nào đó. Nó không phải là
thiết kế cuối cùng.
• Design Pattern được tạo ra để giải
quyết vấn đề, chứ không phải để
phức tạp hóa nó.
• Design Pattern giúp code được tối
ưu hóa, dễ tái sử dụng, dễ hiểu, dễ
nâng cấp sửa chữa.

More Related Content

Similar to Introduction to Design Pattern

Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1giapmaster
 
Seminar apply OOP in maintain software
Seminar apply OOP in maintain softwareSeminar apply OOP in maintain software
Seminar apply OOP in maintain softwareVKhang Yang
 
An Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in JapanAn Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in JapanTrung Vu
 
Sinh vienit.net --bao-cao-design_patterns
Sinh vienit.net --bao-cao-design_patternsSinh vienit.net --bao-cao-design_patterns
Sinh vienit.net --bao-cao-design_patternshaduyen757
 
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTTVuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTTVu Hung Nguyen
 
Design Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếDesign Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếNhật Nguyễn Khắc
 
Phần mềm học tiếng anh.docx
Phần mềm học tiếng anh.docxPhần mềm học tiếng anh.docx
Phần mềm học tiếng anh.docxhongnguyn793
 
Tư duy thiết kế là gì.pdf
Tư duy thiết kế là gì.pdfTư duy thiết kế là gì.pdf
Tư duy thiết kế là gì.pdfGrowup Work
 
Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...
Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...
Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...DIVE INTO CODE Corp.
 
Designing websites in dreamweaver cs5
Designing websites in dreamweaver cs5Designing websites in dreamweaver cs5
Designing websites in dreamweaver cs5Phạm Tấn Duy
 
3 module3 lienket_4_module4_anphamhs_review
3 module3 lienket_4_module4_anphamhs_review3 module3 lienket_4_module4_anphamhs_review
3 module3 lienket_4_module4_anphamhs_reviewgvhoangphuong
 
3 module3 lienket_4_module4_anphamhs_review01
3 module3 lienket_4_module4_anphamhs_review013 module3 lienket_4_module4_anphamhs_review01
3 module3 lienket_4_module4_anphamhs_review01gvhoangphuong
 
Chude08 nhom29-mindjet mindmanager
Chude08 nhom29-mindjet mindmanagerChude08 nhom29-mindjet mindmanager
Chude08 nhom29-mindjet mindmanagerThiên Trúc Trần
 
Vận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVKhang Yang
 
Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1volll
 
Ho so ldh.designer
Ho so ldh.designerHo so ldh.designer
Ho so ldh.designerhoangyen231
 
Ho so ldh.designer
Ho so ldh.designerHo so ldh.designer
Ho so ldh.designerhoangyen231
 
Ho so ldh.designer
Ho so ldh.designerHo so ldh.designer
Ho so ldh.designerhoangyen231
 

Similar to Introduction to Design Pattern (20)

Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
 
Seminar apply OOP in maintain software
Seminar apply OOP in maintain softwareSeminar apply OOP in maintain software
Seminar apply OOP in maintain software
 
Giới thiệu OOP
Giới thiệu OOPGiới thiệu OOP
Giới thiệu OOP
 
An Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in JapanAn Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in Japan
 
Sinh vienit.net --bao-cao-design_patterns
Sinh vienit.net --bao-cao-design_patternsSinh vienit.net --bao-cao-design_patterns
Sinh vienit.net --bao-cao-design_patterns
 
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTTVuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
 
Design Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếDesign Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kế
 
Live stream: Học lập trình
Live stream: Học lập trìnhLive stream: Học lập trình
Live stream: Học lập trình
 
Phần mềm học tiếng anh.docx
Phần mềm học tiếng anh.docxPhần mềm học tiếng anh.docx
Phần mềm học tiếng anh.docx
 
Tư duy thiết kế là gì.pdf
Tư duy thiết kế là gì.pdfTư duy thiết kế là gì.pdf
Tư duy thiết kế là gì.pdf
 
Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...
Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...
Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh ...
 
Designing websites in dreamweaver cs5
Designing websites in dreamweaver cs5Designing websites in dreamweaver cs5
Designing websites in dreamweaver cs5
 
3 module3 lienket_4_module4_anphamhs_review
3 module3 lienket_4_module4_anphamhs_review3 module3 lienket_4_module4_anphamhs_review
3 module3 lienket_4_module4_anphamhs_review
 
3 module3 lienket_4_module4_anphamhs_review01
3 module3 lienket_4_module4_anphamhs_review013 module3 lienket_4_module4_anphamhs_review01
3 module3 lienket_4_module4_anphamhs_review01
 
Chude08 nhom29-mindjet mindmanager
Chude08 nhom29-mindjet mindmanagerChude08 nhom29-mindjet mindmanager
Chude08 nhom29-mindjet mindmanager
 
Vận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tế
 
Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1
 
Ho so ldh.designer
Ho so ldh.designerHo so ldh.designer
Ho so ldh.designer
 
Ho so ldh.designer
Ho so ldh.designerHo so ldh.designer
Ho so ldh.designer
 
Ho so ldh.designer
Ho so ldh.designerHo so ldh.designer
Ho so ldh.designer
 

Introduction to Design Pattern

  • 1. Mẫu thiết kế phần mềm: Giới thiệu về Design Pattern Giảng viên: Lương Văn Minh Trình bày: Trần Luân Hy
  • 2.
  • 4. Tại sao cần Design Pattern?
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. Để học Design Patterns cần có gì? Để học tốt Design Pattern bạn nắm vững được Bốn đặc tính của OOP: Kế thừa, Đa hình, Trừu tượng, Bao đóng. Tiếp theo là hai khái niệm interface và abstract Bỏ tư duy theo lối cấu trúc, nâng tư duy hoàn toàn OOP.
  • 13. Học ở đâu? Sách: • Design Patterns: Elements of Reusable Object-Oriented Software • Head First Design Patterns • Design Patterns For Dummies • Pattern Hatching: Design Patterns Applied. • Refactoring to Patterns. • Patterns of Enterprise Application Architecture.
  • 14. Các website viết về Design Pattern: • https://sourcemaking.com/design_patterns • https://refactoring.guru • https://www.tutorialspoint.com/design_pattern/index.htm • https://www.javatpoint.com/design-patterns-in-java • http://www.oodesign.com/ • http://java-design-patterns.com • http://www.javacamp.org/designPattern/ • https://en.wikipedia.org/wiki/Software_design_pattern • dotNet Design Patterns: https://www.dofactory.com/net/design-patterns • Javascript Design Patterns: https://www.dofactory.com/javascript/design-patterns
  • 15. Học Design Pattern như thế nào? Để học tốt một Design Pattern bạn hãy tập trung chú ý vào 3 phần sau: • Nó được sử dụng khi nào, vấn đề mà design pattern đó giải quyết là gì? • Sơ đồ UML mô tả design pattern. • Code minh họa, ứng dụng thực tiễn của nó là gì?
  • 16. Lời kết Chúng ta nên nhớ rằng: • Design patterns là 1 đoạn mô tả, hoặc 1 khuôn mẫu để giải quyết 1 vấn đề nào đó. Nó không phải là thiết kế cuối cùng. • Design Pattern được tạo ra để giải quyết vấn đề, chứ không phải để phức tạp hóa nó. • Design Pattern giúp code được tối ưu hóa, dễ tái sử dụng, dễ hiểu, dễ nâng cấp sửa chữa.