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).
All programming paradigms aid developers in the process of improving SoC. For example, object-oriented programming languages such as C++, Java, and C# can separate concerns into objects, and a design pattern like MVC can separate content from presentation and data-processing (model) from content. Service-oriented design can separate concerns into services. Procedural programming languages such as C and Pascal can separate concerns into procedures. Aspect-oriented programming languages can separate concerns into aspects and objects.
Separation of concerns is an important design principle in many other areas as well, such as urban planning, architecture and information design. The goal is to design systems so that functions can be optimized independently of other functions, so that failure of one function does not cause other functions to fail, and in general to make it easier to understand, design and manage complex interdependent systems. Common examples include using corridors to connect rooms rather than having rooms open directly into each other, and keeping the stove on one circuit and the lights on another.
http://en.wikipedia.org/wiki/Separation_of_concerns
分享到:
相关推荐
Javascript:关注点分离 目标 在本课程结束时,学生应该能够: 根据模型组织JavaScript代码并查看职责 指示 分叉并克隆此仓库。 转到项目目录。 请遵循您老师的指示。...在计算机科学中,关注点分离(SoC)是将...
本文探讨了一种新颖的方法,用于仅利用两个混合信号来实现任何数量的源信号的盲分离(Blind Source Separation, BSS)。这种方法特别适用于当源信号在频域中是非交叠正交的场景,即任意两个信号的窗口化傅里叶变换的...
钯的回收与分离技术在催化剂再生领域具有重要的经济价值与环保意义。钯是一种稀有贵金属,在肥料工业中常被用作催化剂,负载于氧化铝载体上。然而,催化剂在使用过程中会逐渐失去活性,成为废催化剂(spent catalyst...
should be structured modularly, following the principle of separation of concerns, with the ability to select only those parts of the meta-model that are of direct interest to a particular tool ...
OOD 设计基本原则包括 OCP 原则、里氏替换原则、依赖倒置原则、接口隔离原则、聚合与继承原则、单一职责原则、Separation of concerns Principle 和 Pareto Principle 等。 OCP 原则(Open-Closed Principle)是 ...
Separation of Bi and Al originated from Bi4Ti3O12 deposited on aluminum foil,郑瑞麟,王风雨,Etched aluminum foils covered with bismuth titanium oxide Bi4Ti3O12 (BTO) by sol-gel coating has been ...
本研究介绍了基于磁性纳米粒子嫁接特异性适配体从鸡蛋清中分离溶菌酶的技术。这项技术在生物化学、分子生物学和材料科学领域具有重要的应用价值。以下是相关知识点的详细介绍: 1. 磁性纳米粒子的制备:本研究使用...
Chapter 7explores the best side effects of the separation of concerns achieved through MVVM: testability and unit testing. Chapter 8outlines how to implement a Data Access Layer into a Silverlight ...
本文的研究主题是鱼藤酮类化合物的提取、分离以及高效液相色谱(HPLC)分析方法,特别针对的是鱼藤根(Derris trifoliata Lour.)中一种叫做deguelin的成分。Deguelin是一种天然的植物化合物,具有多方面的生物活性...
Starch-protein separation of pea slurry at pH of 9 using a Hydrocyclone,ZHU Jianwei,HUA Yufei,A 10mm hydrocyclone as a separation method replaced the static settling method to separate the slurry ...
去甲万古霉素手性固定相的制备及其对5-甲基-5-苯基乙内酰脲的HPLC分离,杨亦文,苏宝根,用共价键合法制备去甲万古霉素手性固定相,并用该手性固定相拆分了5-甲基-5-苯基乙内酰脲。研究了三种流动相模式:反相、极性...
You can code Aurelia applications using a lot of the same semantics and separation of concerns that you enjoy when developing in Java or C#. In Aurelia Succinctly, Matthew Duffield will walk you ...
本文献《Blind Separation of Reflections with Relative Spatial Shifts》由Efrat Be’ery和Arie Yeredor撰写,两位作者均来自以色列特拉维夫大学电气工程学院。该论文针对在拍摄过程中由于通过玻璃窗等反射介质而...
本文"Single-Channel Blind Source Separation of Co-Frequency Overlapped GMSK Signals Under Constant-Modulus Constraints"探讨了一种针对共频重叠的Gaussian Minimum Shift Keying(GMSK)信号的新算法,该算法...
Struts 1 was an action oriented framework that implemented an MVC separation of concerns in its architecture. Struts 2 is a brand new implementation of those same MVC principles in an action ...
根据文件提供的信息,这篇论文的标题为《Hybrid mapping service for the separation solutions of routing scalability》(《路由可扩展性分离方案的异构映射服务》),其内容主要围绕当前互联网路由表快速增长所...
The OpenCPU System: Towards a Universal Interface for Scientific Computing through Separation of Concerns
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and gives you full control over markup for enjoyable, agile development....
文章标题《含偶极作用 BEC 的相分离》和描述表明了本文聚焦于研究玻色-爱因斯坦凝聚体(Bose-Einstein Condensate,简称BEC)中两组份混合的相分离行为。其中,一种原子组份具有磁偶极矩,而另一种不具有磁偶极相互...