Repo: https://github.com/refacore/ioc-event Xử lý sự kiện là kĩ thuật được sử dụng phổ biến. Các nền tảng cung cấp các cách khác nhau để xử lý sự kiện. Chúng ta có thể lựa chọn các chức năng được cung cấp sẵn hoặc tự xây dựng một bộ xử lý của riêng mình. Dưới đây là 3 phương án với C#. event của C Khai báo event và event theo cách mà C# cung cấp. Đây…
Leave a CommentTag: software design
Trong bài trước SOLID – Tổng quan, tôi đưa ra quan điểm rằng SOLID không nhằm tạo ra những dòng code bất tử mà nhằm tạo ra những dòng code sẵn sàng thay đổi. Có thể cái tên SOLID khiến ta có chút liên tưởng ngược lại, nhưng từng nguyên tắc trong đó lại toàn nói về sự thay đổi. Single Responsibility – không có nhiều hơn một lý do để thay đổi class Ngay…
Leave a CommentCách đây khoảng 10 năm, tôi thực sự chật vật khi học và đọc về SOLID hay Design Pattern. Thời đó tôi nghĩ không nhiều lập trình viên hiểu về SOLID hay Design Pattern, mạng xã hội cũng không phát triển như bây giờ nên kiến thức cũng ít được chia sẻ rộng rãi. Mà những người giỏi, theo tôi nghĩ thì không phải dạng lắm mồm hay khả năng xã hội cao nên những…
Leave a CommentBài trước mình đã review và refactor một vài hàm trong bộ mã nguồn này. Bài này sẽ chỉ ra một số điểm về kiến trúc để chúng ta cải thiện. Git: https://github.com/refacore/WebVella-ERP/tree/refactor/refactor-webapicontroller Siêu controller Nhìn vào WebApiController chúng ta sẽ hoa mắt một chút vì nó dài đến 4.5k dòng. Rất khó để có thể giải thích vì sao file này lại dài như thế. Có thể các tác giả nghĩ rằng gom hết…
Leave a CommentTrong dự án tôi tham gia trước đây, sau khi tôi đề xuất ứng dụng mô hình n-tiers thay thế cấu trúc cũ, cậu em đồng nghiệp đã hỏi tôi rằng “Dùng n-tiers thì mình được lợi gì anh?”. Câu hỏi này thực sự làm tôi bối rối vì không biết nên trả lời thế nào cho thỏa đáng. Cậu em hỏi câu ấy không phải bởi cậu không biết n-tiers là gì hay n-tiers…
Leave a Comment