Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

SOLID & Design Patterns

171 Aufrufe

Veröffentlicht am

Design patterns là một đề tài "khó nuốt" với đa số lập trình viên ở buổi đầu tìm hiểu. Lý do là vì design patterns được xây dựng trên những khái niệm trừu tượng cũng như phải tuân thủ các nguyên tắc lập trình hướng đối tượng.

Đến với TechTalk #32: SOLID & Design Patterns, các bạn sẽ được giới thiệu những nguyên tắc cần phải tuân thủ này và cách thức áp dụng những design patterns quen thuộc vào giải quyết các bài toán một các ngắn gọn, xúc tích và hiệu quả thông qua các ví dụ thực tế.

Speaker: Khôi Nguyễn - Senior Software Engineer @ KMS Technology

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

SOLID & Design Patterns

  1. 1. SOLID & Design patterns Khoi Nguyen
  2. 2. Agenda ● Intro ● SOLID ● Design patterns ○ Decorator ○ Strategy ○ Visitor ● Q & A
  3. 3. Intro - Design patterns không khó hiểu nếu chúng ta nắm vững SOLID. - Design patterns trở nên quen thuộc, gần gũi. - Design patterns trở thành công cụ giao tiếp.
  4. 4. OOP
  5. 5. OOP > Abstraction
  6. 6. OOP > Encapsulation
  7. 7. OOP > Inheritance
  8. 8. OOP > Inheritance
  9. 9. OOP > Polymorphism
  10. 10. SOLID
  11. 11. SOLID > Bad Design
  12. 12. SOLID > Good Design Efficiency Testability Extensibility Maintainability Reusability
  13. 13. SOLID > Single Responsibility Support Maintainability Reusability Testability Eliminate Rigidity Fragility Immobility
  14. 14. SOLID > Single Responsibility
  15. 15. SOLID > Open-Closed Support Extensibility Reusability Maintainability Eliminate Immobility Viscosity Rigidity
  16. 16. SOLID > Open-Closed
  17. 17. SOLID > Liskov substitution Support Reusability Extensibility Maintainability Eliminate Fragility Immobility Opacity
  18. 18. SOLID > Liskov substitution
  19. 19. SOLID > Interface Segregation Support Maintainability Reusability Testability Eliminate Rigidity Opacity Immobility
  20. 20. SOLID > Interface Segregation
  21. 21. SOLID > Dependency Inversion Support Extensibility Maintainability Testability Eliminate Immobility Viscosity Rigidity
  22. 22. SOLID > Dependency Inversion
  23. 23. SOLID > Dependency Inversion
  24. 24. SOLID > Dependency Inversion
  25. 25. SOLID > Dependency Inversion
  26. 26. SOLID > Dependency Inversion
  27. 27. Coupling | Cohesion Gắn “chết” Gắn kết (Coupling) (Cohesion)
  28. 28. Coupling | Cohesion
  29. 29. Coupling | Cohesion
  30. 30. Advices ● A class should have only one reason to change. ● Favor Composition over inheritance ● Program to interfaces, not implementations. ● DRY Principle: Don't Repeat Yourself
  31. 31. Design Pattern Design patterns are typical solutions to common problems in software design
  32. 32. Design Pattern https://gist.github.com/lolzballs/2152bc0f31ee0286b722
  33. 33. Design Pattern > Diagram
  34. 34. Decorator Pattern
  35. 35. Decorator Pattern Attach additional responsibility dynamically during runtime. Trong đầm gì đẹp bằng sen Lá xanh bông trắng lại chen nhụy vàng
  36. 36. Decorator Pattern
  37. 37. Decorator Pattern > Example
  38. 38. Decorator Pattern > Example
  39. 39. Decorator Pattern > Example
  40. 40. Decorator Pattern > Example
  41. 41. Decorator Pattern > Example
  42. 42. Decorator Pattern > Real Example
  43. 43. Bánh + nước Decorator Pattern > Real Example Cước Wifi Dịch vụ Dịch_vụ_tùy_chọn
  44. 44. Bả matit Decorator Pattern Tường Sơn Trang_trí_cơ_bản ITrang_trí
  45. 45. Strategy Pattern
  46. 46. Strategy Pattern Define a family of algorithms, encapsulate each one, and make them interchangeable. Con gà cục tác: “lá chanh” Con lợn ủn ỉn “Mua hành cho tôi” Con chó khóc đứng khóc ngồi: “Bà ơi đi chợ mua tôi đồng riềng”.
  47. 47. Strategy Pattern > Diagram Món chính (gà, heo, chó) Lá chanh Củ hành Củ riềng
  48. 48. Strategy Pattern A B C GFED KJIH L
  49. 49. Strategy Pattern > Example
  50. 50. Strategy Pattern > Example
  51. 51. Strategy Pattern > Example
  52. 52. Strategy Pattern > Real Example
  53. 53. Strategy Pattern > Real Example Đơn Hàng Tín dụng Momo Bitcoin
  54. 54. I_Chiến_thuật_vệ_sinh Strategy Pattern > Diagram Dịch_vụ_vệ_sinh Thủ_công Robot ...
  55. 55. Visitor Pattern
  56. 56. Visitor Pattern A way of separating an algorithm from an object structure on which it operates.Visitor lets you add new operations to existent object structures without modifying the structures. Dẫn lang nhập thất
  57. 57. Visitor Pattern Phòng khách Nhà bếp Sói
  58. 58. Visitor Pattern > Example
  59. 59. Visitor Pattern > Example
  60. 60. Visitor Pattern > Example
  61. 61. Visitor Pattern > Example
  62. 62. Visitor Pattern > Real Example
  63. 63. Visitor Pattern > Real Example Mô tả SP Bình luận Đánh giá SP
  64. 64. Đội trang trí Noel Visitor Pattern Phòng khách Nhà bếp IPhòng IKhách
  65. 65. Recap ● SOLID ● Design patterns ○ Decorator ○ Strategy ○ Visitor ● Design patterns & ca dao tục ngữ ● Caution ○ Use the right tool for the job Example on Github https://github.com/khoiquyenvn/designpattern
  66. 66. Q & A
  67. 67. Thanks! Contact us: KMS Technology 2 Tản Viên, P.2, Q.Tân Bình khoimnguyen@kms-technology.com www.kms-technology.com

×