AOP LÀ GÌ? CÁCH XÂY DỰNG AOP HIỆU QUẢ NHẤT BẠN CẦN BIẾT

  -  
1. AOPhường là gì?

Aspect Oriented Programming (AOP) – lập trình sẵn hướng khía cạnh: là 1 trong kỹ thuật lập trình (dạng hình nhỏng lập trình phía đối tượng) nhằm mục tiêu phân bóc công tác thành giải pháp moudule riêng biệt rẽ, rành mạch, không phụ thuộc nhau.

Bạn đang xem: Aop là gì? cách xây dựng aop hiệu quả nhất bạn cần biết

Khi hoạt động, lịch trình sẽ kết hợp các module lại để thực hiện những tính năng mà lại Khi sửa đổi 1 chức năng thì chỉ việc sửa 1 module.

AOP không phải dùng để làm thay thế sửa chữa OOPhường. nhưng mà nhằm bổ sung mang lại OOP..

*

Ví du 1:

1 đơn vị được tạo thành các cơ quan, phòng chuyên môn, phòng kế toán thù, phòng kinh doanh (mỗi chống y như một module trong cmùi hương trình)…

Mỗi chống tiến hành một trọng trách riêng rẽ, nhưng mà yêu cầu phối hợp lại nhằm vận hành một đơn vị.

– Trong AOP bao gồm định nghĩa “lát cắt”, “điểm cắt”, lâm thời đọc là module A sẽ xen vào module B để thực hiện 1 tính năng nào đó mà không làm cho tác động module B, “điểm cắt” là vị trí mà module A xen vào module B

Ví dụ, vào đơn vị, tất cả những nhân viên phần đông cần phải quyết toán thuế, nếu như từng người 1 tiến hành đã tốn tương đối nhiều thời gian với ảnh hưởng tới đơn vị. Phòng kế toán sẽ gộp lại cùng tiến hành quyết toán thù cho tất cả nhân viên cấp dưới. Bây tiếng pháp luật thuế biến hóa, thì cũng chỉ việc mỗi chống kế tân oán chỉnh sửa lại cho phù hợp, ko tác động gì cho tới các cơ sở không giống. (Module chống kế toán tiến hành lát giảm cùng với những chống còn lại sinh sống trọng trách quyết tân oán thuế)

Điểm cắt tại đây tùy theo xếp ao ước, phương pháp kinh nghiệm, ví dụ chính sách thưởng thức là đề xuất quyết toán thuế cuối năm thì phòng kế tân oán sẽ triển khai lát giảm quyết tân oán thuế cho các phòng ban sót lại vào cuối năm.

lấy ví dụ như 2:

Trong code chúng ta thường xuyên triển khai viết log cho những method (method nào chạy, lỗi gì xảy ra…). Rõ ràng vấn đề viết log chẳng tương quan gì mang đến chức năng của method.

Bây giờ trải nghiệm chuyển sang trọng chỉ viết log Lúc bước đầu các method chẳng hạn, ta lại bắt buộc sửa toàn bộ các method đó.

Xem thêm: Giá Ato Là Gì ? Cách Đặt Lệnh Ato Trong Chứng Khoán

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

Muốn nắn log sinh hoạt đầu method, điểm giảm sẽ là làm việc đầu các method, mong giảm sinh sống cuối method thì điểm cắt đang là cuối method.

lấy ví dụ như 3:

Trong thiết kế web, có một khái nhiệm filter, Tức là toàn bộ những request được chọn đang phần đa chạy qua filter đó.

filter ở đây cũng rất được coi như một module hòa bình riêng rẽ. Chẳng hạn mỗi request gửi cho yêu cầu xác xắn (khám nghiệm login) ta chỉ cần mang lại nó đi qua 1 filter thực hiện đúng đắn là được, ao ước sửa đổi cách bảo đảm thì ta chỉ việc sửa filter là dứt.

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

Ưu điểm:

Thiết kế đối kháng giản: “You aren’t gonna need it (YAGNI)” – bọn họ chỉ setup gần như đồ vật chúng ta đích thực buộc phải nhưng mà không lúc nào cài đặt trước.Cài đặt lịch trình một biện pháp trong sáng: từng một module chỉ làm mẫu mà nó cần phải có tác dụng, giải quyết và xử lý được nhị vấn đề code tangling và code scattering.Tái áp dụng dễ ợt.

Nhược điểm:

Khái nhiệm hơi trừu tượng, độ trừu tượng của công tác caoLuồng lịch trình phức hợp.3. Các thuật ngữ trong AOP

Mình đã rước ví dụ mang lại câu hỏi tách bóc công dụng log nhằm minh họa.

Xem thêm: Cách Làm Thẻ Grabpay Grab Helpcenter, Cách Làm Thẻ Grabpay

Core concerns: hàm bao gồm của lịch trình (những method bắt buộc tiến hành log)Crosscutting concerns: đầy đủ tính năng không giống của cmùi hương trình: (tính năng log)Join points: một điểm của công tác, là vị trí hoàn toàn có thể chèn những “custom action” của bạnPointcut: có tương đối nhiều phương pháp để xác minh joinpoint, những phương pháp như vậy được điện thoại tư vấn là pointcut.Advice: là mọi cách xử trí prúc được sản xuất cách xử lý chính, code nhằm triển khai các xử trí này được Gọi Adivce.4. Code ví dụ bằng Java.

Để thực hiện AOP. vào Java ta hoàn toàn có thể sử dụng những thiết lập cung cấp bởi

AspectJSpring AOP