Bu konuda bir kitap yazarak buna cevap verilebilir. Ancak, burada temel bir karşılaştırma
1. Konuya Yönelik Programlama
Konu Odaklı Programlama, aşağıdaki gibi nesneye yönelik radikal bir harekettir. OO'da, nesneler içsel olarak tanımlanır (yani, bağımsız olarak tanımlayan bir modele dayanarak). ve buna dayanarak özellikleri (özellikleri) ve yöntemleri (davranışı) türetilir. Uygulama sadece kullanımı yaparözellikleri ve davranışları. Bunun aksine, konuya yönelik programlamada, böyle bir izolasyonda hiçbir nesne yoktur (ve modellenmiştir). Bu süreçte, ancak nesnelerin davranışları, orijinal nesnenin yazarının kapsamı ve kontrolünün ötesinde nesnelerin diğer çeşitli "özneleri" tarafından sağlanır. "Bence bu, burada tartışılanlara kıyasla kalıtım şablonlarını tanımlamanın ötesinde bir yol olurdu.
Tartışmasız terimlerin (ve kavramın) kökeni " Konu Odaklı Programlama: Saf Nesnelerin Eleştirisi , William Harrison ve Harold Ossher" makalesinden gelir. İşte başka bir iyi makale . Kişisel olarak bunun teorik bir çerçeve olduğuna inanıyorum. Herhangi bir dil / uygulama olup olmadığını bilmiyorum
Bkz bu , bu ve bu daha fazla bilgi için.
2. Unsur Odaklı Programlama
Unsur yönelimli programlama, " Soğanların ayrılması " kavramından kaynaklanmaktadır . Temel olarak, kesişen endişeler için prosedürel veya nesne yönelimli programlamayı genişletir. Aşırı basitleştirme, yazılımın işlevsel gereksinimleri ve işlevsel olmayanları olduğunu söyleyebilir . Bu çapraz kesim gereksinimleri günlük kaydı, özel durum işleme, iş parçacığı senkronizasyonu, bellek yönetimi, optimizasyon vb. Bu kesişen ASPECTS , ayrı ayrı ve diğer fonksiyonel parçalara bağımsız olarak ifade edilmeli ve uygulanmalıdır.
Bu alanda kapsamlı bir çalışma IBM'den ; temelde bu endişelerin her biri veyayönler birbirinden bağımsız olabilir ve çok boyutlu "endişe alanı" oluşturur. (Okumak bu ).
Aspect Oriented'in iyi pratik uygulamalarından bazıları AspectJ ve AspectC ++ ve daha fazlasıdır . Bkz bu .
3. Rol Odaklı Programlama
Temsilcilere doğru geliştikçe, çoğu zaman, ajanın nihai performansının faaliyet gösterdiği çevreye bağlı olduğu “roller” ve hedefler tanımlamak gerekir. Bu, insan kavramsal anlayışına benzer.
Birincil hedef, işbirliği süreçleri adı verilen açık bir yapıyı tanımlayarak görevin amacını işbirliği kapasitesinden ayırmaktır . Bir rol, bir dizi yetenek ve beklenen bir davranış olarak modellenir. ancak, bu yaklaşımlar yürütme ortamının modellenmesine ve aracı / nesnenin çevreyi nasıl algılayabileceğine de izin verir. Bkz bu .
Araştırmada rol tabanlı modelleme ve uygulamalar için önerilen çeşitli çerçeveler vardır. Bunlardan birkaçı HALAT , BEYİN , ALAADIN ve daha fazlası .