concerns

In computer science, separation of concerns is a design principle for separating a computer program into distinct sections. Each section addresses a separate concern, a set of information that affects the code of a computer program. A concern can be as general as "the details of the hardware for an application", or as specific as "the name of which class to instantiate". A program that embodies SoC well is called a modular program. Modularity, and hence separation of concerns, is achieved by encapsulating information inside a section of code that has a well-defined interface. Encapsulation is a means of information hiding. Layered designs in information systems are another embodiment of separation of concerns (e.g., presentation layer, business logic layer, data access layer, persistence layer).Separation of concerns results in more degrees of freedom for some aspect of the program's design, deployment, or usage. Common among these is increased freedom for simplification and maintenance of code. When concerns are well-separated, there are more opportunities for module upgrade, reuse, and independent development. Hiding the implementation details of modules behind an interface enables improving or modifying a single concern's section of code without having to know the details of other sections and without having to make corresponding changes to those other sections. Modules can also expose different versions of an interface, which increases the freedom to upgrade a complex system in piecemeal fashion without interim loss of functionality.Separation of concerns is a form of abstraction. As with most abstractions, separating concerns means adding additional code interfaces, generally creating more code to be executed. So despite the many benefits of well-separated concerns, there is often an associated execution penalty.

View More On Wikipedia.org
  • 1

    GranTurismoEra

    Established Member From London
    • Messages
      564
    • Reaction score
      393
    • Points
      162
  • 1

    Jeroen

    Established Member From Fryslân, The Netherlands
    • Messages
      65
    • Reaction score
      64
    • Points
      28
  • 1

    M44LCY

    Established Member 69 From Fife, Scotland
    • Messages
      105
    • Reaction score
      132
    • Points
      38
  • 1

    APMG

    Established Member From United Kingdom
    • Messages
      179
    • Reaction score
      128
    • Points
      51
  • 1

    Everest

    Established Member From UK
    • Messages
      528
    • Reaction score
      636
    • Points
      200
  • 1

    gerrydoorstop

    Standard Member From East Kilbride
    • Messages
      13
    • Reaction score
      7
    • Points
      8
  • 1

    Noel

    Established Member From Brighton England
    • Messages
      149
    • Reaction score
      91
    • Points
      48
  • 1

    pomegran

    Standard Member From Worcester
    • Messages
      22
    • Reaction score
      21
    • Points
      9
  • Back
    Top Bottom