Some advices for project organization

/*By Dylan SUN */

I’ve been worked recently on the project structure refactoring. A good project structure could give you a good visibility and a clear understanding even you are brandly new in a project, and make your further development much easy.

Some practices could be applied to increase the project maintainability and facilitate the development in the team if there are multiple projects and multiple solutions.

I would like to introduce some advice based on my own experience.

  1. Manage common package (using Nuget)

    It’s very practical when you have multiple solutions in your team. You can manage to use the same version of tools or packages in the whole application to ensure the consistence.

  2. Separate projects with sub-folders physically and create identical virtual folders.

    For example, you can organize your solution with the following sub folders.

2.1 ExternalReferences: all your references from other solutions.

2.2 Libraries: your projects shared to all layers

2.3 PresentationLayer: this could be ASP.NET projects, WPF projects,Window Forms projects.

2.4 ServiceLayer: it contains different services to provide different functionalites to presentation layer.

2.5 BusinessLayer: it includes business logics.

2.6 DataAccessLayer: a centric layer to manager all the data access in your projects

2.7 UnitTests: include your unit tests

2.8 IntegrationTests: as integration tests could be complicated and take long time. It’s preferred to have a dedicated project for it.

The project organization really depends on the product you are developing. A good project organization can make your development much easier. So before development a project, take a little time to well conceive its organization.

I hope you find this article helpful! Thanks.

时间: 2024-08-11 22:08:13

Some advices for project organization的相关文章

[Project organization] - structure refactoring with TFS

/By Dylan SUN/ There are something you need to pay attention to when you make a project structure refactoring. You could NEVER delete a project in the TFS and re-add it into the place you want. In this way, you will lose all the changesets about this

LEDE Project

https://lede-project.org/ The LEDE Project ("Linux Embedded Development Environment") is a Linux operating system based on OpenWrt. It is a complete replacement for the vendor-supplied firmware of a wide range of wireless routers and non-network

Project Management Process

Project Management ProcessDescription .......................................................................................................................................................................................1STAGE/STEP/TASK SUMMARY LIST

项目管理术语表

术语表中的许多单词,在词典中都有更广泛甚至不同的含义.本术语表遵循如下惯例对术语进行定义:? 在某些情况下,一个术语由多个单词组成(如风险紧迫性评估):? 当出现同义词时,不再对同义词进行定义,而建议读者参见相应的常用词语(即见某某词语):? 对非同义词的相关术语,则在其定义结尾处标明交叉引用(即参见某某词语).Acceptance Criteria 验收标准:可交付成果通过验收前必须满足的一系列条件.Accepted Deliverables 验收的可交付成果:项目产出的,且被项目客户或发起人

JIRA Plugin Development——Configurable Custom Field Plugin

关于JIRA Plugin开发的中文资料相当少,这可能还是由于JIRA Plugin开发在国内比较小众的原因吧,下面介绍下自己的一个JIRA Plugin开发的详细过程. 业务需求 创建JIRA ISSUE时能提供一个字段,字段内容是类似于订单号或手机号这种样式的数据,并且显示出来是一个链接,点击后可跳转到订单详情页或手机号所对应的客户的整个订单页,供用户查看和此任务工单关联的订单数据: 例如: 订单号为123456: 订单详情URL为:http://192.168.11.211?order=1

创建jira插件

https://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project/create-a-helloworld-plugin-project Create a HelloWorld Plugin Project At this point, you have set up your environment and run a test with a stand

Unity jounal 2016-3-3

1. Project organization: 2.prefab Important part of the project, which seperate and organize the scripts and logic. e.g. A character can be made of movement, brain, skill, talk, etc... 3. Need to Learn: Game related algorithm like path-finding. somet

软件工程文档

  1<立项建议书>....................................................................................... 1 2<软件项目投标书>................................................................................. 6 3<软件产品开发任务书>...............................

如何在eclipse中开发多个聚合关系的maven项目并用git管理

最近在开发项目时用到maven,多个maven项目之间是有一定联系的,所以分开创建,再用maven聚合管理. 项目使用git来管理代码,因为上传代码时设置.gitignore文件中不上传.setting等文件,所以在git中下载下来之后的maven项目不是一个elipse项目文件,这样如果在github中拉下代码之后,再导入时不是很方便,所以这里使用maven的插件,把各个项目变成Eclipse项目. 项目的结构如下: 其中encryption是多个maven项目中的其中一个,这些项目都依赖Ut