Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Các mô hình thiết kế thông dụng

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Các mô hình thiết kế thông dụng


    Các mô hình thiết kế thông dụng





    Khi làm phần mềm, bạn sẽ thường xuyên phải giải quyết cùng một vấn đề lặp đi lặp lại. Bạn sẽ không muốn phát minh lại cái bánh xe mỗi khi bạn cần một thứ gì đó lăn được để tạo ra một phương tiện di chuyển mới

    Trong kỹ thuật phần mềm, nhiều mô hình thiết kế phổ biến đã được tạo ra và bạn có thể sử dụng lại chúng trong dự án phần mềm của mình. Các mẫu thiết kế này giúp bạn đẩy nhanh quá trình phát triển và cung cấp các giải pháp đã được chứng minh là chính xác. Các phần sau đây giới thiệu một số mẫu thiết kế thực sự hữu ích cho các dự án tự động hóa mạng: mô hình Model-View-Controller (MVC) và Observer. Mặc dù có nhiều thứ khác mà bạn có thể muốn tìm hiểu, nhưng đây là những thứ bạn có thể sẽ thấy trong kỳ thi DevNet Associate DEVASC 200-901.
    Mô hình Model-View-Controller (MVC)
    Model-View-Controller (MVC) là một trong những mẫu thiết kế đầu tiên tận dụng nguyên tắc SoC (tạm dịch: tách biệt các mối quan tâm). Nguyên tắc SoC được sử dụng để tách các chức năng và sự phụ thuộc lẫn nhau của một ứng dụng khỏi các phần khác của nó. Mục tiêu là làm cho các lớp khác nhau của ứng dụng - chẳng hạn như lớp truy cập dữ liệu, lớp logic nghiệp vụ và lớp trình bày (giao diện người dùng cuối) – trở thành các module tách biệt nhau. Tính mô đun này làm cho ứng dụng dễ dàng hơn để xây dựng và bảo trì đồng thời cho phép linh hoạt thực hiện các thay đổi hoặc bổ sung đối với logic nghiệp vụ. Nó cũng cung cấp một cấu trúc chung cho các hệ thống mà bất kỳ ai cũng có thể làm theo để hợp tác phát triển. Nếu bạn đã sử dụng một ứng dụng dựa trên web, nhiều khả năng ứng dụng đó đã được dựng nên bằng mô hình MVC.
    Ghi chú:
    Rất nhiều web frameworks của nhiều ngôn ngữ lập trình khác nhau sử dụng mô hình MVC. Angular, Express và Backbone (viết bằng JavaScript), Django và Flask (viết bằng Python) là những ví dụ rất phổ biến.
    Một mô hình MVC cổ điển có ba phần chính:
    Model: Tầng Model có nhiệm vụ truy xuất và thao tác dữ liệu. Tầng này thường gắn liền với một số loại database nhưng nguồn dữ liệu cũng có thể một file đơn giản. Nó thực hiện tất cả các hoạt động liên quan đến dữ liệu, chẳng hạn như đọc, thêm, xóa và sửa. Tầng Model nhận điều phối từ tầng Controller.
    View: Tầng View là những gì mà người dùng cuối nhìn thấy trên thiết bị họ đang sử dụng để tương tác với chương trình. Nó có thể là một trang web hoặc một dòng chữ trên command line. Sức mạnh của tầng View là nó có thể được điều chỉnh cho phù hợp với bất kỳ thiết bị nào, bất kỳ cách giao diện nào mà không làm thay đổi bất kỳ logic nghiệp vụ nào của mô hình. Tầng View giao tiếp với tầng Controller bằng cách gửi dữ liệu từ người dùng hoặc nhận đầu ra của tầng Model thông qua các bộ điều khiển. Chức năng chính của tầng View là hiển thị dữ liệu.
    Controller: Tầng Controller là tầng trung gian giữa những gì mà người dùng nhìn thấy với lớp logic xử lý dữ liệu ở bên trong của hệ thống. Vai trò của tầng Controller là nhận các yêu cầu từ người dùng thông qua tầng View và chuyển các yêu cầu đó tới tầng Model để xử lý với kho dữ liệu bên dưới của nó.
    Hình 2-5 cho thấy sự tương tác giữa các thành phần của MVC.


    Observer pattern
    Observer pattern (tạm dịch: Mô hình Quan sát) được tạo ra để giải quyết vấn đề chia sẻ thông tin giữa một đối tượng này với nhiều đối tượng khác. Loại mô hình này mô tả một hành vi rất hữu ích cho các hệ thống phân tán cần chia sẻ thông tin cấu hình hoặc chi tiết về các thay đổi khi chúng xảy ra. Kiểu Observer thực sự rất đơn giản và chỉ bao gồm hai thành phần logic:
    Subject (chủ đề): Subject đề cập đến trạng thái của đối tượng đang được quan sát — nói cách khác, là dữ liệu cần được đồng bộ hóa. Subject sẽ cung cấp một cách thức cho phép các thành phần khác của ứng dụng, thậm chí các hệ thống từ xa có thể đăng ký để nhận biết có sự thay đổi đến đối tượng được theo dõi. Sau khi đăng ký, bên đăng ký sẽ nhận được thông báo cập nhật bất cứ khi nào có thay đổi về dữ liệu của chủ thể, từ đó các bên có đồng bộ hóa.
    Observer (người quan sát): là thành phần đăng ký với Subject, từ đó cho phép Subject nhận biết những Observer nào đang theo dõi đối tượng và tìm cách cách giao tiếp với nó. Chức năng duy nhất của người quan sát là đồng bộ hóa dữ liệu của nó với chủ thể khi được gọi. Điều quan trọng cần hiểu về Observer là nó không trực tiếp lấy dữ liệu về, chỉ đứng chờ Subject đẩy dữ liệu đến. Quy trình này có thể rất kém hiệu quả với một số lượng lớn hơn các Observer cùng đăng ký một Subject.
    Mô hình Observer thường được sử dụng để xử lý các giao tiếp giữa tầng Model và tầng View trong mô hình MVC. Ví dụ, giả sử rằng bạn có hai chế độ xem khác nhau cho người dùng cuối. Một chế độ xem cung cấp biểu đồ thanh và chế độ xem kia cung cấp biểu đồ phân tán. Cả hai đều sử dụng cùng một nguồn dữ liệu từ mô hình. Khi dữ liệu đó thay đổi hoặc được cập nhật, hai chế độ xem cần được cập nhật. Đây là một công việc hoàn hảo cho mô hình Observer.

Working...
X