Author: batagic

IoC introduction chapter 3

Ở phần trước, chúng ta đã tìm hiểu về cách implement nguyên lý IoC bằng việc sử dụng Factory pattern và đạt được mức độ đầu tiên của việc thiết kế các class có ít sự phụ thuộc hơn. Phần này chúng ta sẽ tìm hiểu việc implement DIP bằng cách tạo các abstract class. […]

Branch strategy – Chiến lược phân nhánh

1. Khi nào thì branch off 2. Khi nào thì merge 1 branch vào 1 branch khác? Gitflow – master: branch chính, luôn ở trạng thái deploy-ready (có thể deploy), tức là đạt sự ổn định cao. Branch master chỉ được merge vào từ branch develop. – develop: branch phục vụ việc phát triển. Chừng […]

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p1

Trong bài viết này chúng ta sẽ tìm hiểu về kiến trúc,  nguyên lý SOLID trong lập trình hướng đối tượng qua các ví dụ được viết bằng C#   Nội dung SOLID là gì??? SOLID “S” – SRP (Single responsibility principle) SOLID “O” – Open closed principle SOLID “L” – LSP (Liskov substitution principle) […]

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p2

SOLID “S” – SRP (Single responsibility principle) SOLID “O” – Open closed principle SOLID “L” – LSP (Liskov substitution principle) SOLID “I” – ISP (Interface Segregation principle) SOLID “D” – Dependency inversion principle Hiểu về “O” – Open closed principle Bây giờ chúng ta sẽ tiếp tục với class Customer ở ví dụ trước. Tôi […]

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p3

Tìm hiểu về “L”- LSP (Liskov substitution principle) Nguyên lý được phát biểu như sau: So LISKOV principle says the parent should easily replace the child object. Trong một chương trình, các object của class con có thể thay thế class cha mà không làm thay đổi tính đúng đắn của chương trình   Tiếp […]

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p4

Tìm hểu về “I” – ISP (Interface Segregation principle) Thay vì dùng 1 interface lớn, ta nên tách thành nhiều interface nhỏ, với nhiều mục đích cụ thể Nguyên lý này khá dễ hiểu. Hãy tưởng tượng chúng ta có 1 interface lớn, khoảng 100 methods. Việc implements sẽ khá cực khổ, ngoài ra còn […]

Ở giữa

Có một lần cha tôi nói với tôi rằng âm nhạc không nằm ở những nốt nhạc mà ở cái khoảng không ở giữa những nốt nhạc. Giữa những nốt nhạc là âm nhạc. Giữa những con người là tình yêu. Những nốt nhạc và những con người không có ý nghĩa. Ý nghĩa nằm […]

Git hướng dẫn cơ bản cho người mới

Đến thời điểm hiện tại thì git không còn xa lạ gì với nhiều người. Tuy nhiên nếu bạn là người mới tiếp cận với  git thì bài viết này có lẽ dành cho bạn    Bước 1: Cài đặt Tải về cho OSX Tải về cho Windows Tải về cho Linux Tạo một repository […]

Tạo đối tượng trong C# từ url API hoặc Json String

Lang thang trên mạng tình cờ vớ được bí kíp. Đôi khi trong các dự án các bạn cần tạo đối tượng với dữ liệu từ chuỗi string dạng JSON. Đơn giản rồi, với 3 bước nho nhỏ sau công việc của các bạn sẽ đỡ hơn rất nhiều: Vào link http://json2csharp.com/ (lạy giời nó đừng chết sau […]

Revision database

Ý tưởng về việc quản lý Database trong dự án phần mềm Mọi thay đổi trong CSDL phải được tạo bằng script. CSDL cũng được quản lý bởi source code version control. Mọi script thay đổi trên CSDL gắn với từng phần phát triển phải được commit đồng thời. Ví dụ script tạo bảng Customers […]