关注点分离

实作

面向对象设计，或编程语言提供的模组化提供开发人员选用的SOC机制。例如，C#，C++，Delphi和 Java等面向对象的编程语言可以将关注点分解为物件，像 MVC 或 MVP这样的架构设计模式，将内容从呈现和数据处理（模型）与内容分开。服务导向的设计可将关注点分解为服务。诸如 C 和 Pascal 之类的程序式编程语言可将关注点分成程序或功能。面向方面的编程语言可以将关注点分解为方面和对象。
在许多其他领域，例如城市规划、建筑，分离关注点也是一个重要的设计原则。目标是更有效地理解，设计和管理许多功能相互依存的复杂系统，以便功能可以重用，独立于其他功能进行优化，并且避免其他功能的潜在故障。常见的例子包括将一个空间分隔成多个房间，这样一个房间的活动不会影响其他房间的人；或是配电将炉子保持在一个电路，而灯光则保持在另一个电路上，这样炉子的超载就不会影响灯光。房间分隔的例子显示了封装，其中一个房间内的资讯（无论有多混乱）不会用于其他房间，除非通过界面（门是接口）。电路的例子表明，一个模组内部的活动是一个电力消费者附加的电路，不会影响不同模块中的活动，因此每个模组不会额外去关注另一个模块发生的情况。