thảo luận Cuối cùng thì áp dụng 4 tính chất OOP vào code base như thế nào nhỉ?

Có thể nhiều thím sẽ chửi em khi em hỏi câu này. Nhưng mà em đi làm rồi vẫn ko hiểu OOP 4 tính chất để nói về vấn đề gì.

Search khắp nơi thì sẽ ví dụ như là: Class con chó kế thừa class animal đại loại như vậy => Tất nhiên ví dụ này em hiểu, nhưng k hiểu áp dụng vào code base ntn

Nhưng trong thực tế đi làm em vẫn chưa hiểu 4 tính chất:

1. Đóng gói
2. Kế thừa (Cái này thì hiểu)
3. Đa hình
4. Trừu tượng

Thì 4 cái này áp dụng vào code base như thế nào @@ Mà chỉ hiểu các ví dụ đơn giản như trên mạng thôi @@

Thím nào minh họa code cho em thì tốt nhé, kiểu e k hiểu thực tế áp dụng như thế nào mà toàn CRUD ý
 
Vcl hiểu DI mà k biết mấy cái trừu tượng đóng gói đa hình, troll ghẻ à thế bình thường ông implement kiểu gì thế :rolleyes:

Gửi từ Việt Nam bằng vozFApp
Tôi hiểu DI là tiêm service vào, .Net core chỉ cần ông add service xong rồi service container cho ông mà. Nhưng tôi k hiểu áp dụng 3 cái kia vào code ntn -_-
 
T sợ nó troll ghẻ thôi toàn kiến thức vỡ lòng :after_boom:

Gửi từ Việt Nam bằng vozFApp
Ông k hiểu à, tôi bảo là nếu giải thích OOP như kiểu sinh viên thì tôi hiểu đầy các bài trên mạng. Nhưng tôi k biết nó áp dụng vào code như thế nào, chả nhẽ giải thích kiểu đóng gói property private rồi dùng get set lấy ra à

Còn cái DI có gì khó hiểu đâu mà troll ghẻ
 
Vầy nhé, giả sử 1 công ty có 3 loại nhân viên fresher, mediator và senior. Fresher bắt buộc phải có 1 senior kèm và 1 senior có thể mentor nhiều fresher. Mediator thì không liên quan ai cả.

Nếu ông tạo 1 class duy nhất là EmployeeRole và dùng chung cho tất cả nhân viên thì không đảm bảo tính bao đóng, vì Mediator có thể truy cập vào các thuộc tính mentor => phải tạo 3 class riêng biệt cho từng role, mỗi class sẽ bao đóng 1 số property nhất định.

Tính đa hình là cuối tháng khi ông tính lương nhân viên, Senior sẽ nhận được thêm phụ cấp ứng với số lượng fresher mình mentor => cùng là hàm TinhLuong() của nhân viên thôi nhưng business flow sẽ khác nhau cho từng role.

Trừu tượng với kế thừa nó gắn liền nhau, khỏi ví dụ nha.

Sent from Samsung SM-G973F using vozFApp
 
Tôi hiểu DI là tiêm service vào, .Net core chỉ cần ông add service xong rồi service container cho ông mà. Nhưng tôi k hiểu áp dụng 3 cái kia vào code ntn -_-
Cái trừu tượng là cái mà lúc ông dùng để đăng kí service đó, đại loại là các module ko đc phụ thuộc chặt vào nhau mà phải thông qua 1 lớp trừu tượng, phải làm cho nó lỏng lẻo ra để dễ tháo lắp sau này ví dụ ông muốn kết nối tới 1 cái db, hôm nay thằng xếp vui nó bảo kết nối tới mysql, ngày mai nó buồn nó lại bảo kết nối đến sqlsv, lúc này t sẽ tạo ra 1 cái hợp đồng,(là lớp trừu tượng, chỉ chứa khai báo ko thân hàm, mớ code của ông sẽ làm việc với thằng này chứ ko làm việc với 2 thằng db kia, lúc nào cần thằng db nào thì sẽ do ông quyết định thông qua lớp trừu tượng , khuya bàn phím điện thoại type đc vậy thôi :rolleyes:

Gửi từ Việt Nam bằng vozFApp
 
Cái trừu tượng là cái mà lúc ông dùng để đăng kí service đó, đại loại là các module ko đc phụ thuộc chặt vào nhau mà phải thông qua 1 lớp trừu tượng, phải làm cho nó lỏng lẻo ra để dễ tháo lắp sau này ví dụ ông muốn kết nối tới 1 cái db, hôm nay thằng xếp vui nó bảo kết nối tới mysql, ngày mai nó buồn nó lại bảo kết nối đến sqlsv, lúc này t sẽ tạo ra 1 cái hợp đồng,(là lớp trừu tượng, chỉ chứa khai báo ko thân hàm, mớ code của ông sẽ làm việc với thằng này chứ ko làm việc với 2 thằng db kia, lúc nào cần thằng db nào thì sẽ do ông quyết định thông qua lớp trừu tượng , khuya bàn phím điện thoại type đc vậy thôi :rolleyes:

Gửi từ Việt Nam bằng vozFApp
Đúng như thím nói, cái DI là một case của thằng abstraction. Keyword chính xác hơn là loosely coupling, nếu sao này thím thớt muốn tìm keyword :D.
 
Đúng như thím nói, cái DI là một case của thằng abstraction. Keyword chính xác hơn là loosely coupling, nếu sao này thím thớt muốn tìm keyword :D.
Cái loosely này thì em cũng hiểu khi học DI nhưng k nghĩ nó lquan tới absstraction
Cái trừu tượng là cái mà lúc ông dùng để đăng kí service đó, đại loại là các module ko đc phụ thuộc chặt vào nhau mà phải thông qua 1 lớp trừu tượng, phải làm cho nó lỏng lẻo ra để dễ tháo lắp sau này ví dụ ông muốn kết nối tới 1 cái db, hôm nay thằng xếp vui nó bảo kết nối tới mysql, ngày mai nó buồn nó lại bảo kết nối đến sqlsv, lúc này t sẽ tạo ra 1 cái hợp đồng,(là lớp trừu tượng, chỉ chứa khai báo ko thân hàm, mớ code của ông sẽ làm việc với thằng này chứ ko làm việc với 2 thằng db kia, lúc nào cần thằng db nào thì sẽ do ông quyết định thông qua lớp trừu tượng , khuya bàn phím điện thoại type đc vậy thôi :rolleyes:

Gửi từ Việt Nam bằng vozFApp
cám ơn bác, còn 2 cái nữa mai bác type nốt nhé
 
Back
Top