理论篇:关注点分离(Separationofconcerns,SoC)
概念
1. 关注点分离(Separation of concerns,SOC)是对只与“特定概念、⽬标”(关注点)相关联的软件组成部分进⾏“标识、封装和操锻炼的意思
微信安全码是什么
纵”的能⼒,即标识、封装和操纵关注点的能⼒。
2. 这是处理复杂性的⼀个原则。由于关注点混杂在⼀起会导致复杂性⼤⼤增加,所以能够把不同的关注点分离开来,分别处理就是处理补雌激素的食物
复杂性的⼀个原则,⼀种⽅法。
3. 关注点分离是⾯向⽅⾯的程序设计的核⼼概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独⽴出来。
4. 业务逻辑的代码中不再含有针对特定领域问题代码的调⽤(将针对特定领域问题代码抽象化成较少的程式码,例如将代码封装成
function或是class),业务逻辑同特定领域问题的关系通过侧⾯来封装、维护,这样原本分散在整个应⽤程序中的变动就可以很好的管理起来。
具体说明(概念⽐较难理解)
1. 好的架构设计必须把变化点错落有致地封装到软件系统的不同部分。要做到这⼀点,必须进⾏关注点分离。
2. 好的架构必须使每个关注点相互分离,也就是说系统中的⼀个部分发⽣了变化,不会影响其他部分。
3. 即使需要改变,也能够清晰地识别出那些部分需要改变。
4. 如果需要扩展架构,影响将会最⼩化,已经可以⼯作的每个部分都将继续⼯作。
三星显示器驱动泱泱华夏上述论述中的四句话总结:
1. “系统中的⼀个部分发⽣了变化,不会影响其他部分。”
容成
金不换炒薄壳2. “即使需要改变,也能够清晰地识别出那些部分需要改变。”
3. “如果需要扩展架构,将影响最⼩化,已经可以⼯作的每个部分都将继续⼯作。”
农业养殖
结论
关注点分离原则不仅体现在问题求解、算法设计、软件设计等设计⽅法中,同时也体现在软件开发过程、软件项⽬管理以及软件开发⽅法学等诸多⽅。
在某种意义上,正是对软件开发不同关注点的分离视⾓和关注重点的差别,导致了软件开发技术和开发⽅法的演变和发展。