Diễn đàn rao vặt 24h miễn phí

Nguyên lý Solid là gì? Cách áp dụng Solid trong lập trình code.

Thảo luận trong 'Học Hành' bắt đầu bởi baba, 8 Tháng tám 2015.

  1. baba Member

    Bạn có biết cách áp dụng nguyên lý Solid trong lập trình code chưa? Hãy thực hiện cùng CNC Aptech nhé.

    1. Single responsibility principle

    Nguyên lý đầu tiên, tương ứng với chữ S trong SOLID. Nội dung nguyên lý:

    Một class chỉ nên giữ 1 trách nhiệm duy nhất (Chỉ có thể sửa đổi class với 1 lý do duy nhất).

    Để hiểu nguyên lý này, ta hãy lấy ví dụ với 1 class vi phạm nguyên lý. Ta có 1 class như sau:

    [IMG]

    Class này giữ tới 3 trách nhiệm: Đọc dữ liệu từ DB, xử lý dữ liệu, in kết quả. Do đó, chỉ cần ta thay đổi DB, thay đổi cách xuất kết quả, … ta sẽ phải sửa đổi class này. Càng về sau class sẽ càng phình to ra. Theo đúng nguyên lý, ta phải tách class này ra làm 3 class riêng. Tuy số lượng class nhiều hơn những việc sửa chữa sẽ đơn giản hơn, class ngắn hơn nên cũng ít bug hơn.

    2. Open/closed principle


    Nguyên lý thứ hai, tương ứng với chữ O trong SOLID. Nội dung nguyên lý:

    Có thể thoái mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó (open for extension but closed for modification).

    Theo nguyên lý cho hoc lap trinh web php này, mỗi khi ta muốn thêm chức năng,.. cho chương trình, chúng ta nên viết class mới mở rộng class cũ ( bằng cách kế thừa hoặc sở hữu class cũ) không nên sửa đổi class cũ.

    3. Liskov Substitution Principle


    Nguyên lý thứ ba, tương ứng với chữ L trong SOLID. Nội dung nguyên lý:

    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.


    Nguyên lý này khá dễ hiểu. Hãy tưởng tượng bạn có 1 class cha tên Vịt. Các class VịtBầu, VịtXiêm có thể kế thừa class này, chương trình chạy bình thường. Tuy nhiên nếu ta viết class VịtChạyPin, cần pin mới chạy được. Khi class này kế thừa class Vịt, vì không có pin không chạy được, sẽ gây lỗi. Đó là 1 trường hợp vi phạm nguyên lý này.

    Áp dụng nguyên lý này, bạn sẽ có phương pháp học tập tốt hơn. Chúc bạn thành công.


Tags: lap trinh

Chia sẻ trang này

Partner: liên hệ

Phiên bản iwin mới nhất - cach tri mun dau den - cach tri mun trung ca - thẩm mỹ viện - danh bạ thẩm mỹ viện - triệt lông vĩnh viễn - cach tri mun boc - giam can hieu qua - cham soc da mat - tap chi cong nghe - tai avatar - hướng dẫn nấu các mon ngon moi ngay Việt Nam - - tai iwin - tai game ban ca - game avatar - game iwin