Thứ Sáu, 4 tháng 1, 2013

Nguyên lý Nghịch đảo Phụ thuộc

1. Định nghĩa

Nguyên lý Nghịch đảo Phụ thuộc phát biểu như sau:

- Module cấp cao không phụ thuộc module cấp thấp. Cả 2 dạng module này nên phụ thuộc vào những kiểu trừu tượng của nó.

- Kiểu trừu tượng không nên phụ thuộc kiểu chi tiết. Ngược lại, kiểu chi tiết nên phụ thuộc kiểu trừu tượng.

2. Giải thích

Thông thường, khi thực hiện 1 logic để giải quyết vấn đề, chúng ta thường bắt đầu giải quyết từ trong ra ngoài, từ chi tiết đến tổng thể. Ví dụ như giải một bài toán lớn bao gồm nhiều bài toán nhỏ, chúng ta sẽ bắt đầu bằng cách giải những bài toán nhỏ, sau đó mới tổng hợp lại từng kết quả để giải bài toán lớn. Đây là một cách làm đúng và là hướng suy nghĩ đúng.

NHƯNG

Khi thiết kế kiến trúc phần mềm, thật sự không giống như việc giải một bài toán ở chỗ mục đích chúng ta cần đạt được trong việc kiến trúc 1 phần mềm chính là tính khả dụng, linh hoạt trong thay đổi, tính kế thừa cao và tiết kiệm tối đa chi phí cho việc thay đổi. Trong khi đó, mục đích của việc giải một bài toán chính là đáp số cuối cùng. Khi chúng ta thay đổi logic trong một bài toán nhỏ cụ thể thì sẽ dẫn đến việc thay đổi logic xử lý trong bài toán lớn vì chúng có liên quan chặt chẽ và cụ thể đến nhau.

Vì thế, để kiến trúc một phần mềm giải bài toán trên, chúng ta không thể tiếp cận một cách trực tiếp từng bài toán cụ thể mà phải phân chúng thành những dạng bài tổng quát, trong dạng bài lớn tổng quát sẽ có những dạng bài nhỏ tổng quát, và đề ra cách giải tổng quát cho các dạng bài tổng quát đó, khi đó 1 bài lớn cụ thể sẽ không phụ thuộc vào từng bài nhỏ cụ thể nữa mà cả 2 dạng bài cụ thể đó sẽ phụ thuộc vào các dạng tổng quát của chúng.

Trong cách giải của từng dạng bài tổng quát và mối liên hệ giữa các dạng bài, chúng ta cũng cần tổng quát hóa chúng để sau này khi thực hiện giải từng dạng toán cụ thể chúng ta có thể implement chúng một cách dễ dàng.Do đó, cách giải tổng quát sẽ không phụ thuộc cách giải cụ thể mà cách giải cụ thể sẽ phụ thuộc cách giải tổng quát.

3. Ví dụ



1 nhận xét:

  1. 또한 카지노사이트, 스포츠배팅 토토사이트를 운영중인곳이 추가로 하나 더 오픈하는 경우가 상당히 많습니다. "말도 안 되는 일입니다. 있어서는 안 되는 일이었습니다. 이곳에선 [영국에선] https://vjtmxmzkwlsh.com/ 원하는 것은 무엇이든 말할 수 있는 자유를 누려야 합니다." 는 PC 및 모바일 사용자들이 온라인상에서 쉽게 즐길수 있게 구축된 온라인카지노 입니다. 다양한게임 룰렛, 바카라, 비디오 포커, 슬롯 등 카지노잭팟의 기회를 잡으세요.

    Trả lờiXóa