Khanh Hoang - Kenn
Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.
LINQ ra đời bởi vì cách viết Entity trước đây tạo ra quá là nhiều code nhưng lại có thể dùng auto coding (xài Code Smith chẳng hạn). Có thể ở background, MS có thuê mấy thèng viết Code Smith làm LINKQ cũng nên ^^.
Tóm lại LINQ ra đời để giảm công sức cho những quá trình đơn giản và “chung chung” trước đây.
Đó là nỗ lực kết xuất truy vấn ra Entity Object. Lập trình viên sẽ không phải care đến việc viết các Entities nữa.
Điểm mạnh (chưa chắc về độ mạnh, nhưng hay) của LINQ là “viết truy vấn cho rất nhiều các đối tượng dữ liệu”. Từ CSDL, XML Data Object … thậm chí là viết truy vấn cho một biến mảng đã tạo ra trước đó. Vì vậy mới có các khái niệm LinQ to SQL, LinQ to XML, blo bla ….
Thích nhất là cái “truy vấn cho một biến mảng” (mình xin không được comments nhiều về biến mảng, vì mình không phải là dân .NET, trong khi hình như là C#, VB.NET có một vài kiểu định nghĩa List, Generics Collection gì gì đó. Trường hợp bạn muốn sắp xếp lại mảng đó, bạn có thể sử dụng LINQ thay vì viết vòng lặp FOR/WHILE như trước.
Tuy nhiên so với mô hình Entity (Entity Framework), LINQ có yếu điểm là chậm và thiếu nhất quán (hiện đại tất phải hại điện).
Vì thế, với các ứng dụng cỡ bự, yêu cầu sự ổn định, khả năng scalable cao, tạm thời không nên sử dụng LINQ, hoặc chỉ sử dụng LINQ cho các thành phần cơ bản, ít liên quan đến Business Logic.
Trong các hệ thống lớn, khi bạn cần thay đổi một công thức nào đó chẳng hạn, bạn nên sử dụng một “công thức ngoài mã nguồn”. (Stored Procedure chẳng hạn). Khi đó bạn sẽ không phải sửa code, re-compile lại hệ thống. Khi sử dụng LINQ, chắc chắn bạn sẽ tốn thời gian cho công việc này (viết lại LINQ query, re-compile, re-deploy… rõ ràng là cực kì phiền phức).
Bình luận (0)
Add Comment