Nếu TCP/IP là kiến trúc lớp thích hợp thì tại sao chúng ta cần phải thay đổi tất cả các ứng dụng trong lớp ứng dụng để thay đổi IP giao thức tầng dưới từ phiên bản 4 sang phiên bản 6?Tại sao chúng ta phải thay đổi lớp ứng dụng trong IPv6 nếu đây là kiến trúc phân lớp?
Trả lời
Nếu ứng dụng được phát triển tốt và thực sự phân lớp thì nó không phải thay đổi. Đáng tiếc là nhiều ứng dụng sử dụng chi tiết lớp thấp như địa chỉ IP để kiểm soát truy cập, khai thác gỗ, vv Trong nhiều trường hợp có thể hiểu được, nhưng nó thực sự phá vỡ cấu trúc lớp ...
Các vấn đề cơ bản được đề cập trong http://www.stipv6.nl/whitepaper-ip-aspecten-software
Và don không quên những thứ như xác thực đầu vào với các biểu thức chính quy và giao diện người dùng chỉ xử lý ký hiệu IPv4 (cung cấp bốn hộp nhập cho địa chỉ hoặc tự động chèn dấu chấm ở một số địa điểm, v.v.).
Chúng tôi sẽ không phải thay đổi nếu mọi người sử dụng các chức năng getaddrinfo()
và getnameinfo()
.
Nhưng khi nhu cầu sử dụng của họ cần thêm 3 dòng mã, mọi người đã không sử dụng nó trước đây.
Trong khi đó, họ dần dần bắt đầu làm như vậy ...
Tôi nghĩ phần mềm lớp ứng dụng nói chung không quan tâm đến lớp IP, nhưng tuy nhiên vì lý do an ninh một số ứng dụng cần để đối phó với lớp IP (ví dụ: Danh sách truy cập tại các máy chủ Web), tại sao chúng ta cần nâng cấp phần mềm để xử lý IPv6.
- 1. Tại sao chúng ta tái cấu trúc?
- 2. Tại sao chúng ta cần "var self = this" trong các lớp trong Javascript?
- 3. Tại sao BIAS là cần thiết trong ANN? Chúng ta có nên có BIAS riêng biệt cho mỗi lớp không?
- 4. Tại sao chúng ta sử dụng Response.ClearHeaders()?
- 5. Tại sao chúng ta nên tránh sử dụng các biến lớp @@ trong đường ray?
- 6. Tại sao chúng ta phải đặt biến __block thành nil?
- 7. Kiến trúc sư Sencha: Phân lớp một mô hình
- 8. Đây có phải là một lớp bên trong
- 9. Tại sao chúng ta sử dụng động Proxy
- 10. Khi nào và tại sao chúng ta nên sử dụng lớp System.ComponentModel.Container?
- 11. Tại sao chúng ta không thể tạo đối tượng ostream của chúng ta
- 12. Kiến trúc 3 lớp - truyền dữ liệu giữa các lớp
- 13. Tại sao chúng ta cần giao diện khi lớp trừu tượng tồn tại?
- 14. Tại sao chúng ta sử dụng nếu, nếu thay vì nhiều nếu khối nếu cơ thể là một tuyên bố trở về
- 15. Tại sao chúng ta nên thay đổi giá trị Salt Security trong CakePHP?
- 16. Tại sao cuối cùng là lớp Chuỗi?
- 17. Tại sao chúng ta sử dụng radian trong lập trình?
- 18. Kiến trúc cho các ứng dụng WinForms?
- 19. Đây có phải là cách hay để xác định Kiến trúc OS không?
- 20. Khi nào chúng ta nên sử dụng lớp học và khi chúng ta không nên
- 21. Tại sao chúng ta sử dụng từ khóa cuối cùng với các lớp bên trong vô danh?
- 22. Tại sao chúng ta cần ng-click?
- 23. Tại sao chúng ta cần phải gõ đúc một enum trong C#
- 24. Tại sao tôi cần phải redeclare các thành phần VHDL trước khi instantiating chúng trong kiến trúc khác?
- 25. Tại sao chúng ta không thể khởi tạo thành viên lớp học khi khai báo?
- 26. Tại sao sử dụng một lớp như là một thực hành cấu trúc xấu trong Java?
- 27. Tại sao chúng ta phải xác định <> cho một lớp mẫu với các tham số mặc định?
- 28. tại sao chúng ta không nên sử dụng ++ trong javascript?
- 29. Có thể bytecode của một lớp thay đổi nếu một lớp cha/giao diện thay đổi?
- 30. Tại sao chúng ta nên sử dụng mã hóa ui khi chúng ta có Specflow?