|
In computer science, a concern is a general term that refers to any particular piece of interest or focus in a program. A non-exhaustive list of example concerns are: Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
Concerns do not exist until someone is concerned about them, i.e. an arbitrary set of source files does not constitute a concern until a programmer has some reason to be interested in all of them at once. For example, a programmer may realize that a set of source code files collectively implement a design pattern. Thereby, those source files become a concern implementing that design pattern. Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...
In geographic information systems, a feature comprises an item of feature data. ...
Design pattern could mean several things. ...
In software engineering, a use case is a technique for capturing the potential requirements of a new system or software change. ...
The Unified Modeling Language (UML) is a non-proprietary, object modeling and specification language used in software engineering. ...
Concerns are also created forwards, not retroactively. Programmers write programs in order to achieve certain goals or create features, such as credit card billing or sending email. The source code implementing these features are concerns. Note that features denote behavior itself but that concern denotes the implementation of the behavior. Typically, the implementation of those features that is most essential to the program are the core concerns since they are core to the way the program behaves. In computer science, a core concern is one of the main features or concerns a program is written for. ...
A concern is cross-cutting to the extent that it is scattered and tangled amongst other concerns. Cross-cutting concerns are generally considered a bad thing when creating software. In computer science, cross-cutting concerns, or crosscutting concerns, are aspects of a program, that do not relate to the core concerns directly, but are needed for proper program execution. ...
For example, when programmers simply insert calls to cross-cutting concerns (such as logging, object persistence, etc.) everywhere in the source code where needed, the resulting program leads to a highly-coupled system. Such systems can be difficult to change. Every time programmers make even a small change to one of these cross-cutting concerns, there is the danger that the change can have wide-spread ramifications to the entire program. Data logging is the practice of recording, in some medium, sequential data, often in a time-associated format. ...
Persistence is the term used in computer science to describe a capability used by a computer programmer to store data structures in non-volatile storage such as a file system or a relational database. ...
In computer science, coupling or dependency is the degree to which each program module relies on each other module. ...
For this reason, Separation of concerns (SoC) forms an important goal in program design. Numerous programming paradigms have arisen to assist in SoC: In computer science, separation of concerns (SoC) is the process of breaking a program into distinct features that overlap in functionality as little as possible. ...
Usually considered in the context of the applied arts, engineering, architecture, and other such creative endeavours, design is used as both a noun and a verb. ...
A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ...
|