thắc mắc Các bác học/luyện design pattern như thế nào ? web có cần ko ?

kebohanhtrongdem

Senior Member
Em thấy nếu nói về Design Pattern thường họ giới thiệu đọc cuốn này Design Patterns - Elements of Reusable Object-Oriented Software của Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, nhưng em đang làm về web, web thì có cần cái này nhiều ko ạ?

Tìm các job senior đều nói là phải thạo Design Patterns, mà thạo nghĩa là sao hở các bác ? Kiểu chỉ cần biết 3 phân loại và 23 mẫu rồi biết khi nào áp dụng hay còn gì nữa ko ạ ?
 
Last edited:
Theo m thì bác chỉ cần nắm phân loại và các loại DP, cách implement và khi nào thì cần apply là ổn rồi. Rảnh thì làm thêm pet project apply nữa bác :D
 
Design patterns are a toolkit of tried and tested solutions to common problems in webdesign. Even if you never encounter these problems, knowing patterns is still useful because it teaches you how to solve all sorts of problems using principles of object-oriented design.Design Patterns establishes solutions to common problems which helps to keep code maintainable, extensible and loosely coupled.
 
Em thấy nếu nói về Design Pattern thường họ giới thiệu đọc cuốn này Design Patterns - Elements of Reusable Object-Oriented Software của Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, nhưng em đang làm về web, web thì có cần cái này nhiều ko ạ?

Tìm các job senior đều nói là phải thạo Design Patterns, mà thạo nghĩa là sao hở các bác ? Kiểu chỉ cần biết 3 phân loại và 23 mẫu rồi biết khi nào áp dụng hay còn gì nữa ko ạ ?
Học cho biết thôi, để sau có ai chém gió về Design Pattern thì còn biết mà chém lại. Mấy ông senior lởm hay lôi Design Pattern ra hù các bạn junior lắm :)
 
Last edited:
Design patterns are a toolkit of tried and tested solutions to common problems in webdesign. Even if you never encounter these problems, knowing patterns is still useful because it teaches you how to solve all sorts of problems using principles of object-oriented design.Design Patterns establishes solutions to common problems which helps to keep code maintainable, extensible and loosely coupled.
Bác đạo văn hả ?
link
1650446460034.png
 
Thực tế là vậy ah bác ? Vãi nhỉ :ops:
Đúng rồi bác, việc học lý thuyết với làm thực tế khác xa nhau lắm. Nếu công ty bác đang apply có hỏi về design pattern thì bác nên học để biết đường mà interview. Học đi cũng tốt thôi chứ ko thiệt hại gì. Còn vào làm có áp dụng được design pattern nào vào dự án thực tế hay không thì lại là chuyện khác.

Việc áp dụng bừa bãi các design pattern vào project có thể khiến codebase trở nên cồng kềnh một cách không cần thiết. Đối với các project mà performance là ưu tiên số một thì nhiều khi sử dụng design pattern không đúng chỗ sẽ gây ra performance bottlenecks về sau. Vì phần lớn design pattern trong OOP phải tạo rất nhiều abstraction, mà abstraction gây ra rất nhiều overhead cho CPU. Khi project càng scale lớn thì abstraction càng nhiều sẽ nẩy sinh nhiều performance bottlenecks, để giải quyết vấn đề này nhiều khi phải đập đi làm lại cả hệ thống :LOL:

Trong mảng game dev mình đang làm thì bọn game dev gần đây không còn ưa thích OOP nữa vì nó có nguy cơ gây ra nhiều performance bottleneck cho game. Thay vào đấy thì 2 paradigms mà ưu tiên performance là Data Oriented Design (DOD) và Entity Component Systems (ECS) được ưa chuộng hơn là OOP.

Cho nên em mới bảo mấy ông senior lởm thiếu kinh nghiệm, chỉ giỏi lý thuyết suông hay thích lôi Design Pattern ra dọa bọn trẻ lắm. Chứ gặp tay to lại câm như hến ngay. Mà em cũng khuyên các bác nên học qua Design Pattern (học lý thuyết suông thôi cũng được), để có gì đi interview còn biết đường mà xiaoloz :LOL:

Các bác có thể đọc về Design Patterns ở đây http://gameprogrammingpatterns.com/
 
Back
Top