2012-10-14 96 views
3

SRP - 每个类应该只有一个责任(即理由改变)关注的
分开是打破了计算机程序转变为在功能少 地重叠特色鲜明的过程。一个问题是关于程序中的任何兴趣或焦点。 (关注==系统的功能)。关注与责任之间的区别(即SRP和SoC之间的区别)?

一)我的理解这两者之间的唯一区别是,SRP试图分开责任成不同的SoC试图分开关注分成不同模块?!

b)若下一个假设)是正确的,是什么关注责任(除了一个事实,即责任存在于抽象的较低水平)之间的区别?

谢谢

回答

1

这就是我如何看待他们 - 同样的原理,通常在不同的抽象层次的引用。

+0

谢谢你们的帮助 – user702769

1

不错的问题。 :) 免责声明:只是我的想法。我没有想过以前的区别。我认为这两个概念之间没有太大的区别。

但是,这里是我要说的: 我只知道横切的问题。正如你所说的那样,尽管关心的基本思想是任何一个计划的利益或焦点,但是如果这些问题不是交叉的话,这些问题就会成为责任吗?

我认为原理是一样的。甚至我的理解和你的理解一样。 在购物车系统中,将物品添加到购物车可以被视为一个顾虑......用例应该做的主要事情。涉及的类并不真正关心日志记录,安全性等。即使日志记录不存在,项目也可以添加到类中。但对于购物车或服务必须公开功能才能添加项目,否则用例失败。 同样,对于日志用例,如果日志记录器无法记录活动,则意味着日志记录用例不起作用,即使该项目已添加到购物车。

有点像,谁的责任是将物品添加到购物车? (比方说CartService)如果AddItemToCart故事失败,它会被追究责任吗?是。如果LogAddItemActivity失败,它会被追究责任吗?不是AddItemToCart与日志记录活动有关的故事。它是。它可以与CartService负责的活动分开吗? 模块和类是不同级别的抽象。