如果你听说过“简单的C#对象”(POCO,Plain Old C# Objects)或“简单的Java对象”(POJO,Plain Old Java Objects),这就是无家可归的版本。这张图混合了许多不同层次的细节。
图的左下部是一个SQL服务器数据库,左上部是一个标为“应用程序”的框。注意,那个框同时还(用绿色)注明了“控制台-C#”。基本上,这个系统似乎是由一个C#控制台应用程序和一个数据库构成的。但其他的框是什么?
它们中大多数似乎是C#组件、服务、模块或对象,跟我们在其他图里已经看过的很像。还有一个“数据访问”框和“记录器”框,可能是框架或架构层。所有这些框是否都代表了跟控制台应用程序和数据库相同级别的粒度,或者它们实际上是应用程序的一部分?我猜是后者,但缺少边界让这张图令人困惑。我想在大多数框周围再画一个大框,“所有这些东西都属于控制台应用程序”。我想给那些框一个家。我想要理解系统如何被分解成更小的组件,同时还想了解执行上下文。