🚀 Chào mừng bạn đến với channel của mình !
🔖 Chủ đề được đề cập:
Tại sao nguyên tắc SOLID là bí quyết để viết code tốt hơn?
Nguyên tắc SOLID trong code.
Trong video này, mình sẽ chia sẻ về nguyên tắc SOLID và các ứng dụng SOLID trong code. Đồng thời mình sẽ nêu lên lợi ích và khi nào nên dùng và ví dụ cụ thể
TIMESTAMP:
00:00 Giới thiệu
01:00 Single Responsibility Principle (SRP)
04:01 Open/Closed Principle (OCP)
06:02 Liskov Substitution Principle (LSP)
08:02 Interface Segregation Principle (ISP)
10:54 Dependency Inversion Principle (DIP)
13:19 Lưu ý khi học SOLID
About me:
Mình là Luân, 1 Software engineer đã làm trong ngành lập trình từ năm 2019. Mình làm Full Stack về WEB là chính. Và hầu hết các kiến thức của mình đều là tự học. Vậy nên chanel của mình chuyên chia sẻ kiến thức về lập trình, vlog lập trình, cách tự học lập trình. Giúp bạn có thể học lập trình 1 cách đơn giản và dễ hiểu nhất có thể.
Đây là channel để chia sẻ kiến thức lập trình cho các bạn cũng như giúp mình củng cố kiến thức trong lĩnh vực lập trình.
Đừng quên like và subscribe cho channel của mình
Follow mình trên TikTok:
Follow mình trên Facebook:
facebook.com/profile.php?id=61565542084009
Cảm ơn các bạn đã theo dõi channel của mình.
Hơi thiếu là đáng ra mình nên lấy thêm ví dụ bằng Java để dùng interface, abstract class thuần OOP sẽ dễ hiểu hơn, vì nhiều bạn bị confuse vụ interface, extends quá :D. Bạn nào chưa hiểu ví dụ thì có thể tìm hiểu thêm về OOP trong javascript, typescript nhé 😘😘😘
bây h pvan hỏi level AI thoi, ai hỏi mấy cái này nữa 😃
SOILD Principle không chỉ áp dụng cho level class, mn có thể áp dụng nó ở level function, class, module, service, hay application đều được.
rất hay, rất dễ hiểu
video rất dễ hiểu, bữa em khó hiểu chỗ nguyên tắc 4 interface segregation với 5 depencecy inversion thui, mà video giải thích khá dễ hiểu
Thường thì ở mức độ Senior thì sẽ hỏi kĩ hỏi sâu, còn junior, fresher thì biết cũng đc ko biết chả sao
Hay quá hehe bài này giúp em cải thiện thêm tư duy code
Hơi non, kiến thức này mới ở mức đọc thuộc thôi chứ chưa thông hiểu.
Ví dụ nhé:
1. S
Ngay cái class User thôi, thì bản thân nó là model rồi. Thì nó không nên chứa bất kì cái logic save data hay bất kì cái gì khác. Đã nói là single response thì nhiệm vụ của nó là mô tả đối tượng, ngoài ra đừng làm gì khác.
2. O
Mô tả thì không sai nhưng ví dụ thì không hợp lí. Product type nó dynamic lên n cái thì bạn tạo ra n class để thực thi à ?
3. L
Chưa hiểu bản chất. Cái này nó là khi thay đổi implementation của 1 interface thì chương trình vẫn chạy đúng. Hay khái quát hóa lên là abstraction nhưng phải đảm bảo tính đúng đắn của chương trình.
Video rất hay.
Một video quá tuyệt vời, mong chủ kênh sẽ làm ra thêm nhiều video bổ ích nữa
great
Ngoài mục khi nào nên áp dụng ra thì a có thể cho thêm 1 số ví dụ về việc khi nào KHÔNG NÊN áp dụng được không ạ?
Chiều nay em có buổi phỏng vấn intern thì xem được video này ạ. Rất dễ hiểu, em cảm ơn sếp.
9:14 có gì sai sai chỗ MultifunctionPrinter đúng ko anh, nó ko thèm extends Fax và Scanner
vid này gay thật
Thư viện có sẵn của java ko tuân theo solid thì cũng chịu
Cực kì dễ hiểu thanks kênh
Hay quá
SRP phát biểu như trong video thì mỗi lớp làm 1 nhiệm vụ duy nhất, và giải quyết bài toán 1 class có nhiều hoạt động bằng cách tách ra nhiều class nhỏ, như vậy SRP hiểu theo các này đang vị phạm Encapsulation trong OOP, và nếu 1 class chỉ thực hiện đúng 1 nhiệm vụ vậy thì 1 class có mất đi tính mô tả 1 tính chất và hành động của một thực thể không ? VD: Con người, nghe đc thì không nhìn đc, ăn đc thì không … đc 😂😂😂. B có thể giải thích thêm đoạn này không
dễ hiểu quá, cảm ơn kênh bạn nhé.
Rất hay và dễ hiểu. Thank you so much!
cái này có bài tập gì ko nhỉ, hay mình chỉ cần áp dụng vô các dự án hằng ngày thôi a, trc h code ko theo pattern nào h phải tập sửa lại tí
11:47 Messi có làm gì a đâu :((
xD giỡn chứ, +1 kiến thức, cám ơn a
Trước đi làm công ty cũ có dự án bảo là đừng đặt parameter dạng Interface vì Interface chứa nhiều class nên nặng hơn nè. Méo hiểu thằng nào có tư duy như vậy mà lên được tech
Thấy nội dung vẫn còn mập mờ giữa class và interface nhỉ