构建项目的最佳方法是什么? [关闭]

问题描述 投票:1回答:5

我想知道我应该如何构建我的项目。

我们有一些项目(重新)用于其他项目。

我的意思是,我们的数据项目和模型项目用于一对多其他项目。

我真正要知道的是如何构建这种类型的项目,最好的方法是什么?

在标准的3层应用程序中,应该是这样的:

  1. DAL,DataAccessLayer,数据......
  2. Model,BusinessObject,BOL ......
  3. 用户界面,视图,...

还有其他想法吗?

在我工作的每家公司中,他们都有不同的组织方式,是否有一个比另一个好? 你使用哪一个,你喜欢哪一个?为什么?

谢谢!

architecture projects n-tier-architecture layered
5个回答
2
投票

这就是我所做的,除了我有几个图书馆项目,我试图把我所有的可重复使用的代码。 然后我的模型和DAL位于这些库的顶部,只是添加项目细节


1
投票

对于数据层,我通常使用:

Company.ProjectName.Data (即AdventureWorks.OrderManager.Data)

对于业务层,我更喜欢像“ObjectModel”这样的东西(我使用过“Business”或“BusinessLogic”,但这是数据在对象/类中汇集在一起​​的区域,所以为什么不这样命名呢?)。

Company.ProjectName.ObjectModel (即AdventureWorks.OrderManager.ObjectModel)

对于UI,我喜欢普通的“UI”或“演示”......

Company.ProjectName.Presentation (即AdventureWorks.OrderManager.Presentation)


1
投票

大多数情况下,我使用Microsoft模式和实践.NET应用程序架构:设计应用程序和服务中推荐的分层体系结构。 Document描述了实现它的体系结构和.NET技术。

替代文字


0
投票

软件架构取决于要构建的软件类型。 如果您想进行内核编程,则与应用程序开发相比,其他原则也适用。 当您打算进行物理模拟,天气预报软件,软件IDE或编译器时,还有另一个原则适用。

我假设你想做应用程序开发。 那么,您很可能希望围绕您要反映的域设计您的软件。 但即使这样,也有很多选择。

在这个大的话题更深入的了解,我强烈建议阅读Domain Driven DesignEric EvansApplying Domain-Driven Design and PatternsJimmmy Nilsson


0
投票

我目前正在开发具有3层架构的前端Web应用程序:

  • 客户端层(浏览器)
  • 应用程序层(Java EE应用程序服务器,应用程序将驻留在哪里)
  • 后端层(大型机和遗留应用程序,各种数据库)

它具有分层体系结构,Application层中的层是:

  • 表示层:生成将在客户端层中使用的UI
  • 应用层:相当于用例,包含应用逻辑
  • 服务层:将域后逻辑和数据从后端层映射到Java模型
  • 集成层:与后端层通信,包含JMS,电子邮件,...和DAO以及其他内容的网关

这只是一个示例项目结构,最终结果将取决于应用程序的类型。 关于包的划分和命名策略,您可以在这个问题的 答案中阅读更多内容。

您可以根据需要添加/交换/删除图层。 例如,在SOA中,您可以在应用层或服务层之上层叠Web服务层,以便ESB(企业服务总线)可以连接到您的应用程序或服务。 如果其中任何一项不可能或似乎非常困难,那么您就没有最佳的架构和设计。

在考虑项目结构并允许上述方案时,您需要的模块和组件的一些重要属性是:

  • 可测性
  • 可重用性
  • 可维护性

您可以通过设计低耦合和高内聚来实现这一目标。 通过按功能/抽象级别对模块进行分组来选择分层体系结构是一个良好的开端。 在每个层内,通过功能进一步分组也有帮助。 让每个更具体的层仅依赖于更一般层的界面也减少了耦合。

© www.soinside.com 2019 - 2024. All rights reserved.