Definition - What does Subject-Oriented Programming mean?
Subject-oriented programming is an object-oriented approach in which different subsystems known as subjects are divided to create new subjects based on the composition expression. The approach is a radical departure from the classical object-oriented approach, in which objects are defined based on their properties and methods. Subject-oriented programming is largely oriented toward dividing an object-oriented system into subjects. It thus provides a compositional view of the application development.
The main objective of subject-oriented programming is to help in evolving suites and in facilitating the development of cooperating applications. The two ways in which applications cooperate are by sharing objects and by jointly helping in the operation executions. The subjects in subject-oriented programming can be used to form larger subjects along with combining their functionalities. This helps in reusing the functionalities available for subjects in larger subjects. Moreover, based on composition rules, the subjects are composed in a system and this divide approach helps in extending and maintaining large object-oriented environments. The application source code is not necessary, and it helps in extending existing applications with new and unplanned functionalities.
The subject-oriented approach helps in bringing a model and in focusing on issues related to composition within an application. It brings in composition rules and compositors, as well as helps in better creation of objects, considering deletion and finalization protocols. It also helps in class and interface matching and also in taking care of implementation issues.