Tag Archives: mvc

Series Phản Phác Quy Chân – Đừng cắm mặt vào dùng công nghệ, hãy hiểu nó!

Xin bắt đầu bài viết bằng một câu chuyện nho nhỏ về hai thanh niên tên K và tên H.

Ngày xửa ngày xưa, K và H là đôi bạn thân học cùng Đại Học. Thuở ra trường, do có khả năng, cả hai được nhận vào một công ty làm C#, sử dụng ASP.NET MVC. Câu chuyện bắt đầu từ đó.

Continue reading Series Phản Phác Quy Chân – Đừng cắm mặt vào dùng công nghệ, hãy hiểu nó!

Series C# hay ho – Hello .NET Core

Cách đây vài hôm, Microsoft vừa khiến cộng đồng Open Source dậy sóng bằng việc ra mắt .NET Core 1.0 và ASP.NET Core 1.0. Giờ đây, .NET không chỉ chạy trên mỗi Windows mà còn chạy được trên Linux và MacOS.

Đây là một nước cờ khá cao tay của Microsoft. Hãy cùng xem anh em developer chúng ta được lợi ích gì trong vụ này nhé. Continue reading Series C# hay ho – Hello .NET Core

Series C# hay ho: Tránh xa Web Form, CÀNG XA CÀNG TỐT

Lâu lâu lang thang trên mấy forum và group lập trình,  thấy nhiều bạn vẫn hay có thắc mắc về WebForm. Thôi thì trước đây mình đã từng bình luận về WinFormSilverlight rồi, hôm nay bình về WebForm luôn cho đủ bộ vậy. Bài viết sẽ cho bạn lý do để… từ bỏ WebForm và dành thời gian đi học cái khác có ích hơn.

Lưu ý: bài viết là quan điểm cá nhân của tác giả. Mọi tranh luận về technical và góp ý về cách viết đều được hoan nghênh.

ASPNETlogo

Continue reading Series C# hay ho: Tránh xa Web Form, CÀNG XA CÀNG TỐT

Series C# hay ho: Luận về cái chết của Silverlight

Lần trước, chúng ta đã chém gió về Win Form – một công nghệ đã lâu đời nhưng vẫn sống tốt sống khỏe tại Việt Nam. Lần này, chúng ta sẽ luận bàn về Silverlight – một công nghệ web khá hay (nhưng đã ngủm) của Microsoft. Tuy sinh sau đẻ muộn, nhưng Silverlight lại tử ẹo trước cả người anh WinForm của nó. Tại sao vậy? hãy đọc bài viết để biết nhé.

Continue reading Series C# hay ho: Luận về cái chết của Silverlight

Series C# hay ho: Tại sao WinForm vẫn “chưa chết” – Có nên học WinForm hay không ?

WinFom là một công nghệ của Microsoft, cho phép lập trình các ứng dụng Windows. Nhờ tính tiện ích, dễ code, giao diện design kéo thả đơn giản, … Win Form đã được sử dụng để phát triển rất nhiều ứng dụng. Vì tuổi đời đã khá cao (ra đời vào năm 2003) nên WinForm chính thức bị Microsoft khai tử vào năm 2014. Tuy nhiên, ở Việt Nam, Win Form vẫn còn sống khỏe, sống tốt. Tại sao vậy? Thử đọc bài viết để biết nhé.

2

Continue reading Series C# hay ho: Tại sao WinForm vẫn “chưa chết” – Có nên học WinForm hay không ?

Series C# hay ho: EPPlus – Thư viện Excel “bá đạo” – Phần 2

Tiếp theo phần 1, thì phần này mình sẽ hướng dẫn các bạn thao tác với các công thức trong Excel, cũng như đọc nội dung từ file Excel.  Continue reading Series C# hay ho: EPPlus – Thư viện Excel “bá đạo” – Phần 2

Series C# hay ho: EPPlus – Thư viện Excel “bá đạo” – Phần 1

Lang thang dạo qua các group trên facebook, mình thấy có nhiều bạn hỏi cách để xuất file Excel trên MVC, hoặc đọc nội dung từ file Excel trong C#. Bài viết này sẽ giới thiệu EPPLus, một thư viện C# khá “bá đạo”, có khả năng xử lý tuốt tuồn tuột những thứ liên quan đến Excel.

Bài này được viết bởi khách mời Phạm Hồng Sang, một bạn nam dễ thương cùng trường FPT và đồng nghiệp ASWIG với mình. Văn phong của Sang gãy gọn đơn giản chứ không lòng vòng hài hước như mình, bạn nào thấy giọng văn lạ thì đừng thắc mắc nhé.

Continue reading Series C# hay ho: EPPlus – Thư viện Excel “bá đạo” – Phần 1

Dependency Injection và Inversion of Control – Phần 3: DI Container. Áp dụng DI vào ASP.NET MVC

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Sau 2 phần đầu, chắc các bạn đã có cái nhìn tổng quan về DI và cách áp dụng chúng vào code. Đa phần chúng ta không tự viết sử dụng các DI Container nổi tiếng như: Unity, NInject, StructureMap.

Để hiểu nguyên lý hoạt động của chúng, mình sẽ cùng các bạn cách viết một DI Container đơn giản (chúng cũng không quá “ghê gớm” hay phức tạp như bạn nghĩ đâu). Sau đó mình sẽ hướng dẫn cách sử dụng cái DI Container có sẵn, cũng như áp dụng IoC và project MVC.

1. Tự viết 1 DI Container đơn giản

Các bạn có thể dùng git để clone project về máy và bắt đầu làm theo mình: https://github.com/ToiDiCodeDaoSampleCode/SimpleIoC. Các class và interface vẫn như trong phần 2, có điều mình đã bổ sung thêm 1 số class mock – module giả. Trong thực tế, ta sử dụng các class mock này để viết Unit Test.

Continue reading Dependency Injection và Inversion of Control – Phần 3: DI Container. Áp dụng DI vào ASP.NET MVC

Dependency Injection và Inversion of Control – Phần 2: Áp dụng DI vào code

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Bạn đã đọc phần 1 nhưng vẫn chưa hiểu rõ lắm về DI, IoC, chưa biết cách áp dụng chúng vào code? Đừng lo, ở phần 2 này sẽ cung cấp những đoạn code mẫu, giải thích rõ hơn về những điều mình đã nói ở phần 1. Sau khi đọc xong phần này, các bạn quay lại phần 1 thì sẽ thấy “thông” ra được nhiều thứ nhé.

Dependency là gì?

Dependency là những module cấp thấp, hoặc cái service gọi từ bên ngoài. Với cách code thông thường, các module cấp cao sẽ gọi các module cấp thấp. Module cấp cao sẽ phụ thuộc và module cấp thấp, điều đó tạo ra các dependency.

ioc-and-mapper-in-c-4-638

Continue reading Dependency Injection và Inversion of Control – Phần 2: Áp dụng DI vào code

Dependency Injection và Inversion of Control – Phần 1: Định nghĩa

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Hôm trước, có vài bạn nhờ mình giải thích các khái niệm Dependency Injection, Inversion of Control. Vốn lười, mình định google một bài viết bằng tiếng Việt để quăng cho các bạn ấy. Ngặc một nỗi là mình chả tìm được bài nào cụ thể rõ ràng về Dependency Injection, chỉ có hướng dẫn sử dụng Unity, StructureMap. Một số bài viết hay thì lại toàn bằng tiếng Anh.

Mình cũng thấy vài bạn đã đi làm 1, 2 năm mà vẫn còn “ngáo ngơ” về DI, IoC, chỉ biết sử dụng nhưng không hiểu rõ bản chất của nó. Do đó, mình viết bài này nhằm giải thích một cách đơn giản dễ hiểu về Dependency Injection. Các bạn junior nên đọc thử, vì DI được áp dụng rất nhiều trong các ứng dụng doanh nghiệp, rất hay gặp khi đi làm/đi phỏng vấn. Pattern này được dùng trong cả C#, Java và các ngôn ngữ khác nên các bạn cứ đọc thoải mái nhé.

ioc-and-mapper-in-c-1-638

Continue reading Dependency Injection và Inversion of Control – Phần 1: Định nghĩa