Important discussion follows:
C# and other language have made partial classes more popular. But isn't this really a tool that have reinvented the subject-orientated programming wheel? What do you guys think? Should subject-orientated programming be taught more and get more focus to help programmers utilize partial classes better? Resources: http://ptsoft.net/tdd/papers/MDSoC_Thesis_MsC_Final.pdf
Low important optional side track for discussion follows:
I my self use a form of subject-oriented when making a space imperium hobby project in unity3d. In unity3d gameobjects (3d models) that exist in the 3d engine can have "scripts" (read classes or any code file) attached to them with some special global functions that can run on each frame. This is a perfect ground to use subject orientated programming. Take for example a fleet gameObject, since i can attach one value class (weight, name, attack, defence), one gameRule class that handles all business logic and if i need a new subject, for example "Raid" i only add a raid class to the gameObject and all these are separated.
These all implements a a general interface for their subject so they can be checked for and accessed by " IRaid = gameObject.GetComponent[of IRaid] if IRaid is not null: code "