tailieunhanh - Aspect-Oriented Programming và bảo mật
AOP là gì? Nhiều người không thực sự hiểu AOP là gì và cho rằng AOP là sự thay thế cho ngôn ngữ lập trình hướng đối tượng (OOP), chính vì vậy mà chúng tôi cần giải thích sâu. Khái niệm này rõ ràng hoàn toàn sai: AOP dựa trên OOP. Nó tập trung vào các khái niệm cross-cutting hoặc các khía cạnh –phần mã chung cho các đối tượng khác nhau. Sử dụng một ngôn ngữ AOP (như AspectJ) hoặc các thư viện (như Spring), những người lập trình có thể viết mã cho chức năng này, sau đó định. | Aspect-Oriented Programming và bảo mật AOP là gì Nhiều người không thực sự hiểu AOP là gì và cho rằng AOP là sự thay thế cho ngôn ngữ lập trình hướng đối tượng OOP chính vì vậy mà chúng tôi cần giải thích sâu. Khái niệm này rõ ràng hoàn toàn sai AOP dựa trên OOP. Nó tập trung vào các khái niệm cross-cutting hoặc các khía cạnh -phần mã chung cho các đối tượng khác nhau. Sử dụng một ngôn ngữ AOP như AspectJ hoặc các thư viện như Spring những người lập trình có thể viết mã cho chức năng này sau đó định nghĩa vị trí đan kết nó vào trong các đối tượng đang tồn tại. Một ví dụ cần phải được đưa ra để làm sáng tỏ cho các bạn về vấn đề này. Giả dụ chung ta có các lớp Java dưới đây Ở đây chúng ta có thể thấy hàm ghi logging được nhân đôi thành hai lớp khác nhau. Với AOP chúng ta cũng thực hiện như vậy lưu ý cú pháp ở đây đã được đơn giản hóa để tạo sự rõ ràng rễ hiểu Lúc này chúng ta tạo một khía cạnh LogInterceptor để có thể xen trước và sau bất kỳ một lời gọi nào đến class bỏ qua những chi tiết về cách xen xảy ra như thế nào . Chúng ta cần phải tạo một proxy cho các lời gọi. Thứ quan trọng cần lưu ý về ví dụ này là cả MyFirstClass và MySecondClass đều không biết và không phụ thuộc vào LogInterceptor. Trong ứng dụng thực mà mã logging có thể được sao chép thành hàng trăm file class khác nhau chính vì vậy việc tập trung nó giống như vậy sẽ làm giảm số lượng mã nguồn một cách đáng kể. Ở đây có thể thực hiện rẽ nhánh vì chúng ta có thể bổ sung các khía cạnh bảo mật cho các ứng dụng mà không cần thay đổi mã đã tồn tại từ trước. ý Những gợi bảo mật Một vài khái niệm cross-cutting có liên quan đến bảo mật được tìm thấy rải rác thông qua logic ứng dụng Logging Access control Error handling Transaction management Session management trong một số trường hợp Input output validation Sử dụng AOP chúng ta có thể tách riêng một đoạn lớn các khái niệm ra khỏi cả mảng mã lớn và tập hợp chúng lại. Có một số trường hợp bạn sẽ không thể tập hợp ví dụ như việc quản lý lỗi nhưng lớn hơn AOP cho
đang nạp các trang xem trước