我目前正在C#做一个学校项目,在那里我必须创建一个处理电影预订和预订的系统。
我的问题是:哪种软件体系结构对这样的系统最有利?我正在考虑使用瘦客户机来创建客户机/服务器架构,以帮助维护并发性,并确保所有连接的客户端在任何时候都可以访问相同的数据。
但后来我继续阅读了关于面向服务的体系结构的文章,但我不太明白这意味着什么。而且,到目前为止,我读过的大部分文献给我的印象是,您必须在分层架构和客户端服务器架构之间做出选择。我不明白为什么这两者不能同时实现?
发布于 2014-04-09 11:38:58
SOA意味着您无法以一种由解耦的服务(组件)组成的方式构建您的系统,它们相互交互。一般来说,这意味着您将构建一堆“子系统”。
分层意味着您不能以每个层相互交互的方式构建您的系统,它们可以是松散的或紧密耦合的。一般来说,这意味着您不能用3层(UI、业务和持久性)构建一个系统。
它们并不是同一抽象的不同类型,实际上它们是不同的野兽,您可以将它们混合在一起,甚至可以将服务作为分层应用程序创建,也可以将层作为一组服务,甚至可以将一些服务作为UI服务,甚至将其他服务作为DB访问服务,并以非常类似于层拓扑的方式排列它们。
为了帮助你做家庭作业,想想你的系统分配了多少。它将是一个漂亮的主页,每个人都可以在那里看到电影时间表,选择一个可以坐到哪里去买东西,或者更像一个卖票的人使用的系统。
第一种是更合适的SOA场景,而第二种更容易被3层应用程序处理。
https://stackoverflow.com/questions/22959787
复制相似问题