@manhng

Welcome to my blog!

SOLID

September 7, 2018 18:40

SOLID Design Principles Explained (edit)

five design principles:

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion

SOLID Design Principles

SRP – Single responsibility principle
Mỗi lớp chỉ nên chịu trách nhiệm về một nhiệm vụ cụ thể nào đó mà thôi.

OCP – Open-Closed principle
Không được sửa đổi một Class có sẵn, nhưng có thể mở rộng bằng kế thừa.

LSP – Liskov substitution principle
Các đối tượng kiểu class con có thể thay thế các đối tượng kiểu class cha mà không gây ra lỗi.

ISP – Interface segregation principle
Nếu Interface quá lớn thì nên tách thành các interface nhỏ hơn.

DIP – Dependency inversion principle
Các thực thể (class, module) chỉ nên phụ thuộc vào các abstraction, chứ không phải các đối tượng được implement cụ thể.

SOLID Design Principles Explained

1) Single responsibility principle
Một class chỉ nên giữ 1 trách nhiệm duy nhất

2) Open/closed principle
Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó

3) Liskov Substitution Principle
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

4) 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ể

5) Dependency inversion principle
1. Các module cấp cao không nên phụ thuộc vào các modules cấp thấp. Cả 2 nên phụ thuộc vào abstraction.
2. Interface (abstraction) không nên phụ thuộc vào chi tiết, mà ngược lại. Các class giao tiếp với nhau thông qua interface, không phải thông qua implementation.

SOLID+Linq2SQL+EF+POCO+Design Patterns+Ionic+Angular+Firebase

January 3, 2018 01:02

SOLID
https://toidicodedao.com/2015/11/03/dependency-injection-va-inversion-of-control-phan-1-dinh-nghia/
https://toidicodedao.com/2015/11/10/dependency-injection-va-inversion-of-control-phan-2-ap-dung-di-vao-code/
https://toidicodedao.com/2015/11/12/dependency-injection-va-inversion-of-control-phan-3-di-container-ap-dung-di-vao-asp-net-mvc/

SOLID va vi du
https://tedu.com.vn/design-pattern/nguyen-tac-solid-va-vi-du-trong-c-49.html

Factory Pattern: Hãy viết một chức năng kết nối database, mà chức năng này phải đảm bảo hoạt động tốt và dễ cấu hình cho các hệ quản trị cơ sở dữ liệu (DBMS) khác nhau như MySQL, MSSQL, Oracle. 
http://kienchu.blogspot.com/2016/06/design-patterns-trong-qua-cac-du-thuc.html

ADO.NET EF
http://kienchu.blogspot.com/2016/07/su-dung-adonet-entity-framework-tuong.html

C# Dependency Injection tutorial (Inversion of Control Tutorial)
https://thangphampt.wordpress.com/2016/06/23/dependency-injection-web-api-c/
http://dotnetanalysis.blogspot.com/2011/11/dependency-inversion-or-inversion-of.html

.NET POCO (Plain Old CLR Object) - Common Language Runtime (CLR)
https://yinyangit.wordpress.com/2013/03/08/net-poco-la-gi/
+ POCO là lớp chỉ sử dụng các kiểu dữ liệu tiêu chuẩn của CLR
+ Persistence Ignorance: POCO ko nên có bất kì nhiệm vụ nào khác ngoài việc lưu trữ và xử lý dữ liệu (trên bộ nhớ)

.NET Reflection
https://yinyangit.wordpress.com/2011/01/12/c-ki-thuat-reflection-trong-net/

Linq2SQL
https://yinyangit.wordpress.com/2011/08/11/linq-to-sql-basic-concepts-object-relational-mapping-entity-class-association-and-datacontext/

EF va EF voi Model First, Database First, Code First
https://yinyangit.wordpress.com/2011/11/24/tong-quan-ve-kien-truc-entity-framework/

https://yinyangit.wordpress.com/2011/11/26/cac-huong-thiet-ke-entity-data-model-part-1-database-first/
https://yinyangit.wordpress.com/2011/11/28/cac-huong-thiet-ke-entity-data-model-part-2-model-first/
https://yinyangit.wordpress.com/2011/11/30/thiet-ke-entity-data-model-part-3-code-first/

MV-C, MV-P, MV-VM
https://tedu.com.vn/design-pattern/hieu-ve-su-khac-nhau-giua-cac-design-pattern-mvc-mvp-va-mvvm-100.html


Ionic 3, Angular 5
https://www.djamware.com/

Categories

Recent posts