Từ tất cả mọi thứ tôi đã học về "Lập trình hướng theo khía cạnh" hoặc "Phát triển phần mềm định hướng theo khía cạnh", gắn nhãn đó là mô hình lập trình hoặc phương pháp luận dường như không chính xác. Từ những gì tôi có thể nói nó không phải là một kỹ thuật cơ bản để lập trình.
Để hiểu rõ ý nghĩa của "mô hình" và "phương pháp luận", vui lòng tham khảo các định nghĩa sau đây từ Từ điển Di sản Hoa Kỳ. So sánh mức độ "lập trình hướng đối tượng" tốt hay kém đối với từng ứng dụng so với mức độ phù hợp của AOP.
Mô hình: Một tập hợp các giả định, khái niệm, giá trị và thực tiễn cấu thành cách nhìn nhận thực tế cho cộng đồng chia sẻ chúng, đặc biệt là trong một ngành học trí tuệ.
Phương pháp: Một cơ thể thực hành, thủ tục và quy tắc được sử dụng bởi những người làm việc trong một ngành học hoặc tham gia vào một cuộc điều tra; một tập hợp các phương pháp làm việc.
"Thuốc dựa trên bằng chứng" thỏa mãn định nghĩa về mô hình, nhưng "thuốc dựa trên cắt tử cung" sẽ là một cách hiểu sai vì không gian vấn đề quá hẹp.
Tôi nhận được ấn tượng rằng AOP có thể bị đặt tên sai bởi vì dựa trên hậu tố "lập trình định hướng", AOP bị cáo buộc là cả một mô hình và một phương pháp theo cùng một cách "Lập trình hướng đối tượng".
Cả hai thuật ngữ này (mô hình và phương pháp luận) chỉ ra một kỹ thuật cơ bản, trong đó những gì tôi hiểu về các khía cạnh là một công nghệ để giải quyết phạm vi vấn đề hẹp, có thể so sánh về độ lớn với tính năng biến tĩnh của Java.
Nếu đúng là các khía cạnh giải quyết được một loạt các vấn đề hẹp và AOP không phải là một cách hiểu sai, thì tại sao tất cả các kỹ thuật lập trình không được đưa ra hậu tố "lập trình định hướng", chẳng hạn như "lập trình hướng kế thừa", "phụ thuộc" lập trình định hướng, "hay" lập trình hướng phạm vi? "