Tổng quan về sử dụng mô hình MVC để xây dựng web động

Mô hình MVC là một mô hình thiết kế giúp chúng ta tách ứng dụng thành các thành phần khác nhau, các thành phần có nhiệm vụ riêng biệt và độc lập với nhau. Nhờ việc hoạt động đập lập và tách biệt nhau mà việc nâng cấp và sửa lỗi ứng dụng trở nên đơn giản hơn bao giờ hết.

MVC chia ứng dụng làm 3 thành phần là Model, View và Controller, cụ thể như sau:

Sử dụng combine bits để lưu nhiều trạng thái cùng lúc vào 1 biến trong C++

Chắc hẳng các bạn đã biết tới enum, const hay đơn giản là define có thể sử dụng để định nghĩa cho những con số khô khan bằng các tên dể nhớ như: SUMMER = 1, SPRING = 2, WINTER = 3, AUTUMN = 4. Và khi sử dụng thì thay vì phải nhớ 1, 2, 3, 4 thì ta chỉ cần nhớ SUMMER, SPRING, WINTER hay AUTUMN nhờ đó mà ta không bị lẩn lộn hoặc quên các giá trị đó.

Chắc hẳng các bạn đã biết tới enum, const hay đơn giản là define có thể sử dụng để định nghĩa cho những con số khô khan bằng các tên dể nhớ như: SUMMER = 1, SPRING = 2, WINTER = 3, AUTUMN = 4. Và khi sử dụng thì thay vì phải nhớ 1, 2, 3, 4 thì ta chỉ cần nhớ SUMMER, SPRING, WINTER hay AUTUMN nhờ đó mà ta không bị lẩn lộn hoặc quên các giá trị đó.

Source compile process trong C++

Trong C++ quá trình biên dịch source code của chúng ta sang file thực thi hoặc thư viện diễn ra khá nhiều bước, trong đó 2 bước chính là compile và linker là 2 bước sẽ kiểm tra các lỗi và thông báo cho ta biết ở cửa sổ output. Việt nắm được quá trình đi từ mã code của chúng ta sang file cuối cùng(file thực thi hoặc file thư viện) khá quan trọng, nó hổ trợ cho quá trình debug, tối ưu code và tăng tốc biên dịch chương trình rất nhiều.

Dưới đây là sơ đồ về quá trình Source compile process trong C++, nó mô tả tổng quan về tất cả các giai đoạn tiền xử lý đến biên dịch và liên kết để cho ra được file thực thi/thư viện cuối cùng:

Con trỏ trong C++

Điểm làm nên thương hiệu của C/C++ chính là con trỏ, một loại biến đặt biệt, nó lưu địa chỉ của những biến khác(đúng hơn là lưu địa chỉ của vùng nhớ). Nên nhớ rằng cái gì cũng có tính hai mặt, con trỏ(pointer) tuy mạnh nhưng cũng rất nguy hiểm nếu không biết cách sử dụng. Đọc đến đây chắc hẳn các bạn sẽ tự hỏi tại sao lại phải lưu địa chỉ của biến khác, tại sao lại gọi con trỏ là thương hiệu của C/C++, phần bên dưới sẽ giải đáp phần nào 2 câu hỏi đó.

Xây dựng các lớp stream đơn giản để thao tác với file trong c++

Thao tác với file là 1 trong những công việc thường gặp trong lập trình, bất kể ngôn ngử nào, từ các assembly cho đến c/c++ và c#, java…bất kể lập trình ứng dụng hay lập trình game đều ít nhiều động đến việc xử lý file(như lưu các thiết đặt, dữ liệu người dùng, lưu điểm…). Để việc thao tác với file trở nên đơn giản, người ta đã xây dựng các lớp file stream cung cấp các phương thức đọc ghi, kiểm soát lỗi…Ngoài ra còn có các lớp trung gian làm nhiệm vụ như những lớp tiện ích, nó cung cấp các phương thức thao tác với từng loại dữ liệu cụ thể của file. Để hiểu rỏ hơn ta sẽ đi xây dựng lại các lớp stream này trong c++.

Bước đầu tiên ta xây dựng 1 lớp abstract Stream để cung cấp 1 giao diện tổng quan về stream như sau:

Pagination


Copyright © 2022. All rights reserved.