উত্তর:
কার্যকারিতা গ্রুপ হিসাবে উদ্বিগ্নতার কথা ভাবেন যেমন লগিং, নিরীক্ষণ, সুরক্ষা
এই কার্যকারিতাটি বেশিরভাগ কোডে উপস্থিত থাকে তবে তারা আমাদের প্রাণী-> কুকুরের ক্লাসে সত্যিই বাস করে না - এগুলি কার্যকারিতা যা অনেক শ্রেণিতে বাস করা উচিত - তারা ক্রস কাটা উদ্বেগগুলি ।
একটি জোয়েন্টপয়েন্ট হ'ল কোডের একটি জায়গা যেখানে অ্যাসপেক্ট কোডটি চালিত হয়।
একটি পয়েন্টকুটটি কীভাবে বলতে হয় যে কী কোডটি যৌথ পয়েন্টে চলে।
তাঁত - যখন সংকলক / সিস্টেমটি আপনার সাধারণ কোডটি নেয় এবং সমস্ত এওপি কোড অন্তর্ভুক্ত করে যাতে এটি সঠিক কোড ইত্যাদি ট্রিগার করে - এটি অতিরিক্ত প্রাক-সংকলন পদক্ষেপ হিসাবে ভাবতে পারে।
একটি সহজ বোধগম্য উদাহরণ হ'ল:
দয়া করে সচেতন হন যে পরিভাষা বিভিন্ন বাস্তবায়ন এবং এওপি ফ্রেমওয়ার্কগুলির মধ্যে কিছুটা পৃথক হয়।
প্রতিটি সংজ্ঞা পূর্ববর্তীগুলিতে তৈরি করে।
আপনার অ্যাপ্লিকেশন জুড়ে সর্বত্র (ক্রস কাটিয়া) বিরক্তিকর কিছু। যেমন লগিং বা সুরক্ষা
কোডের একটি অংশ যা আপনার বিদ্যমান কোডের পূর্বে , পরে বা উভয় ( চারপাশে ) স্বয়ংক্রিয়ভাবে যুক্ত হয়
Application code
|
|
|
|
\|/
|
JoinPoint ----------->("before" aspect, on the way in) // just before your intercepted application code
Pointcut start--------> public String myMethod(params ...)
//your application code
Pointcut finish--------> return (foo)
JoinPoint ----------->("after" aspect, on the way out) // just after your intercepted application code
|
\|/
|
|
|
Application code
কোড প্রয়োগের একটি স্থান যেখানে দিকের অংশটি কার্যকর করে।
আপনার দিকটি পয়েন্টকাটটিতে "যোগ দেয়" The একটি "পূর্বে" জয়য়েন্টপয়েন্টে আপনার প্যারামিটারগুলির অ্যাক্সেস থাকবে, জয়েন্টপয়েন্টে "পরে" আপনার ফিরতি মানটিতে অ্যাক্সেস থাকবে। যদি কোনও ব্যতিক্রম ছুঁড়ে ফেলা হয় তবে এটি হ্যান্ডেল করতে বা পুনরায় নিক্ষেপ করতে আপনার "ট্রাই-ক্যাচ-অবশেষে" দরকার হতে পারে।
পয়েন্টকটের চারপাশে দিকগুলি যুক্ত করার প্রক্রিয়া