In SeparationOfConcerns debates, I propose that likely ChangePattern should be the primary driver of code partitioning, and not categories, such as business logic versus display logic.
Category-based partitioning allegedly makes use of MentalIndexability to help people find things. However, this may conflict with actual ChangePatterns to increase maintenance cost. Thus, if these two goals compete with each other, I recommend learning toward the change-management approach.
Further, categories are often vague, unknown, overlap, change, or are perceived differently by different people. Your head model of the universe may likely not match that of other people. Change patterns are more tied to reality. -t
Topics related to this include: