1. AOPhường là gì?

Aspect Oriented Programming (AOP) – thiết kế phía khía cạnh: là 1 trong chuyên môn lập trình sẵn (hình dạng nlỗi thiết kế phía đối tượng) nhằm mục đích phân tách bóc công tác thành bí quyết moudule riêng rẽ rẽ, sáng tỏ, ko dựa vào nhau.Quý Khách đã xem: Spring aop là gì

Khi hoạt động, chương trình đang kết hợp các module lại để thực hiện các công dụng tuy nhiên Khi sửa đổi 1 tính năng thì chỉ việc sửa 1 module.

Bạn đang xem: Spring aop là gì

AOP.. không phải dùng để làm thay thế OOP.. nhưng để bổ sung cập nhật mang đến OOP..

*

Ví du 1:

1 chủ thể được tạo thành nhiều phòng ban, phòng kỹ thuật, chống kế toán, chống marketing (từng phòng y như một module vào chương thơm trình)…

Mỗi chống tiến hành một trách nhiệm riêng rẽ, nhưng mà phải phối kết hợp lại để vận hành một đơn vị.

– Trong AOP tất cả tư tưởng “lát cắt”, “điểm cắt”, nhất thời phát âm là module A đang xen vào module B để thực hiện 1 chức năng như thế nào này mà không làm tác động module B, “điểm cắt” là địa chỉ cơ mà module A xen vào module B

lấy ví dụ, trong công ty, toàn bộ những nhân viên hầu hết cần được quyết toán thù thuế, nếu như từng tín đồ 1 tiến hành đang tốn không hề ít thời gian và tác động tới cửa hàng. Phòng kế toán thù vẫn gộp lại với triển khai quyết toán thù mang đến toàn bộ nhân viên. Bây tiếng nguyên tắc thuế đổi khác, thì cũng chỉ việc mỗi chống kế toán chỉnh sửa lại đến phù hợp, không tác động gì tới các ban ngành khác. (Module chống kế tân oán tiến hành lát giảm với những chống còn sót lại sinh sống trọng trách quyết toán thuế)

Điểm giảm ở đây tùy theo xếp mong, vẻ ngoài thử dùng, ví dụ giải pháp trải nghiệm là phải quyết toán thù thuế cuối năm thì phòng kế toán thù đang triển khai lát cắt quyết toán thù thuế cho những ban ngành còn sót lại vào cuối năm.

lấy một ví dụ 2:

Trong code chúng ta hay thực hiện viết log cho các method (method nào chạy, lỗi gì xảy ra…). Rõ ràng câu hỏi viết log chẳng tương quan gì mang đến chức năng của method.

Xem thêm: Tư Vấn, Mua Bán Phần Mềm Labview Là Gì ? Thông Tin, Link Download, File Hỗ Trợ

Bây giờ vận dụng AOP, ta vẫn phân bóc tính năng log ra một module riêng rẽ cùng cần sử dụng nó thực hiện những lát cắt cùng với những method nên tiến hành log.

Muốn nắn log ở đầu method, điểm giảm đã là ở đầu những method, ước ao giảm sinh sống cuối method thì điểm giảm đã là cuối method.

lấy ví dụ như 3:

Trong thiết kế website, có một khái nhiệm filter, tức là toàn bộ các request được chọn sẽ hầu hết chạy qua filter đó.

2. Ưu điểm yếu kém của AOP

Ưu điểm:

Thiết kế đơn giản: “You aren’t gonna need it (YAGNI)” – chúng ta chỉ cài đặt đa số thiết bị họ đích thực yêu cầu mà không khi nào thiết đặt trước. Cài đặt chương trình một giải pháp trong sáng: mỗi một module chỉ có tác dụng cái nhưng nó cần được làm cho, xử lý được hai sự việc code tangling với code scattering. Tái thực hiện thuận tiện.

Nhược điểm:

Khái nhiệm tương đối trừu tượng, độ trừu tượng của lịch trình cao Luồng công tác tinh vi. 3. Các thuật ngữ trong AOP

Mình đã rước ví dụ mang đến việc tách tác dụng log nhằm minh họa.

Core concerns: hàm chính của công tác (những method đề xuất triển khai log) Crosscutting concerns: rất nhiều chức năng không giống của chương trình: (công dụng log) Join points: một điểm của công tác, là khu vực hoàn toàn có thể ckém hồ hết “custom action” của người tiêu dùng Pointcut: có không ít cách để xác định joinpoint, các cách như thế được điện thoại tư vấn là pointcut. Advice: là phần nhiều xử lý phụ được chế tạo cách xử lý chủ yếu, code nhằm tiến hành những xử lý đó được Gọi Adivce. 4. Code ví dụ bởi Java.

Để tiến hành AOP trong Java ta hoàn toàn có thể sử dụng các thiết lập cung ứng bởi

AspectJ Spring AOPhường. Jmonster AOP lấy một ví dụ AOPhường cùng với Spring AOP: https://stackjava.com/spring/spring-aop-1.html ví dụ như AOPhường với Spring + AspectJ: https://stackjava.com/spring/spring-core-aop-aspectj.html
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *