1.2 建议的项目组织结构

1. 组织方式

Prism最大好处是进行模块化方式开发,在项目组织时也需要贯彻这一思想。笔者建议的项目组织方式是:

  • 主项目
  • 共享项目,共享项目包含公共信息,其他项目均引用该项目。
  • 多个应用服务模块
  • 多个功能模块
  • 测试项目
    项目的命名以主项目名.模块名命名。
    以笔者领导开发的二级库项目为例,项目组织方式如下:

项目包图如下:

其中SecondaryCache为主项目,SecondaryCache.DbAccess,SecondaryCache.Hardware为应用服务模块,SecondaryCache.Infrastructure为共享项目,SecondaryCache.MaintainModule,SecondaryCache.OperateModule,SecondaryCache.QualityMgrModule为功能模块,SecondaryCache.DbAccess.Test为测试项目。MaterialDesignThemes.Wpf是第三方控件,Microsoft.EntityFrameworkCore.SqlServer是Database to Object 映射包。

2. 主项目包含什么?

主项目一般包含:

  • Shell
  • Bootstrapper
  • 自定义日志系统(可选)
  • 资源文件,包含文本,图片,音频及视频资源(可选)
  • 样式文件(可选)
  • Views及ViewModels文件夹(可选)
    以笔者二级库项目为例,包含内容如下,

Shell.xaml,ShellViewModel.cs定义Shell。SecondaryCacheBootstrapper定义Bootstrapper类。LoggerAdapter为自定义日志系统类,使用log4net系统。Resource定义资源文件,Theme包含样式文件。View及ViewModels包含公共的View。

3. 共享项目包含什么?

共享项目包含:

  • 公有的控件行为,
  • 数据绑定转换器,WPF数据绑定机制允许将一个类型数据转换为另一个类型。
  • 事件
  • 接口
  • Model
  • 公共信息
  • 帮助类

4. 应用服务需要包含什么?

应用服务模块定义服务,使用单一接口与外界交互。

5. 功能模块需要包含什么?

功能模块依据不同项目包含不同内容,是View及ViewModel集合。

6. 测试项目需要包含什么?

测试项目主要是为了测试单个模块的准确性,一般是一个模块一个测试项目。测试可以使用VS自带框架及xUnit,NUnit等第三方框架。

posted @ 2020-11-01 23:09  饮冰少年  阅读(154)  评论(0编辑  收藏  举报