Separation Of Concerns (SOC)


In computer science, separation of concerns (SoC) is the process of breaking a computer program into distinct features that overlap in functionality as little as possible. A concern is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors. Progress towards SoC is traditionally achieved through modularity and encapsulation, with the help of information hiding. Layered designs in information systems are also often based on separation of concerns (e.g., presentation layer, business logic layer, data access layer, database layer).

design systems so that functions can be optimized independently
failure of one function does not cause other functions to fail

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License