Demo客户端相关规范 v1.0

目录

更新日志

更新时间 更新日志 更新人员
2019/08/09 完成v1.0版本文档 CraigTaylor

开发环境

开发工具

组件名 描述 可选版本 推荐版本
Visual Studio Community 社区免费版 For Visual Studio 2017 For Visual Studio 2019
Visual Studio Professional 专家收费版 For Visual Studio 2017 For Visual Studio 2019
Visual Studio Enterprise 企业收费版 For Visual Studio 2017 For Visual Studio 2019
Visual Studio Preview 预览免费版 For Visual Studio Community For Visual Studio Enterprise
Visual Studio Code 推荐编辑器 For Visual Studio Code Insider For Visual Studio Code Stable
Visual Studio Installer Projects 打包扩展插件 For Visual Studio 2017 For Visual Studio 2019
.NET Core Runtime 运行时依赖 For .NET Core 3.0 For .NET Core 2.2
.NET Core SDK 集成包依赖 For .NET Core 3.0 For .NET Core 2.2
Runtime & Hosting Bundle 可选(IIS用) For .NET Core 3.0 For .NET Core 2.2

代码管理

项目代码

项目名称 项目简介 代码位置
Demo.Client 标准版项目 Github For Demo.Client

分支管理

分支名称 分支简介 备注
Develop 起到了Master分支的作用,作为最终上线代码 发起并入需要审核
CustomBranch 私人分支,基于最新代码新建,修改后合并进入Develop

名称管理

分支名称建议采用"用户名-版本标记-发布模式-创建年月日"格式

例如:

  • Taylor-CN-Develop-20190701
  • Taylor-US-Develop-20190901

Tag名称建议采用"版本标记-发布模式-创建年月日-版本号"格式

例如:

  • CN-Release-20191001-v1.0.0.0
  • US-Release-20191001-v1.0.0.0

打包管理

存储路径

项目名 测试版 正式版
标准版 共享存储DemoDemo.Client测试版 共享存储DemoDemo.Client正式版

存储结构

测试包

文件名 文件描述 文件举例
发布模式-版本号-版本名称.zip 解压即用的程序集(必须) Test-v1.0.0.0-标准版.zip
发布模式-版本号-版本名称-更新日志.docx 指定版本的更新日志(建议) Test-v1.0.0.0-标准版-更新日志.docx

正式包

文件名 文件描述 文件举例
Demo-版本号.msi 全新安装的安装包 Demo1.0.0.0.msi
发布模式-版本号.zip 升级更新的升级包 Release-v1.0.0.0.zip

名称管理

压缩包名建议采用"发布模式-版本号-版本名称.zip"格式

例如:

  • Develop-v1.0.0.0-标准版.zip
  • Test-v1.0.0.0-标准版.zip
  • Preview-v1.0.0.0-标准版.zip
  • Release-v1.0.0.0-标准版.zip

更新日志建议采用"发布模式-版本号-版本名称-更新日志.docx"格式

例如:

  • Develop-v1.0.0.0-标准版-更新日志.docx
  • Test-v1.0.0.0-标准版-更新日志.docx
  • Preview-v1.0.0.0-标准版-更新日志.docx
  • Release-v1.0.0.0-标准版-更新日志.docx

依赖组件

内部组件

组件名 描述 推荐版本
Demo.Core 内部代码框架 1.0.0.0

外部组件

组件名 描述 推荐版本
Autofac 自动注册框架 4.8.1
AutoMapper 自动映射框架 8.0.0
MvvmLight MVVM绑定框架 5.4.1.1
MvvmLightLibs MVVM绑定框架 5.4.1.1
Newtonsoft.Json JSON解析框架 12.0.1
Google.Protobuf Google二进制协议 3.7.0
log4net 本地日志记录 2.0.8
WPFLocalizeExtension 多语言扩展 3.3.1

解决方案结构

解决方案命名

标准版项目
Demo.Client

解决方案文件夹

描述 标准版
基础层 0.Demo.Client.Infrastructure
领域层 1.Demo.Client.Domain
应用层 2.Demo.Client.Application
测试集 DemoTestProject
主要程序 Demo
升级程序 DemoAutoUpdater
打包项目 Setup1

项目文件夹

0.Demo.Client.Infrastructure

项目名称 项目描述
Demo.Client.DataBaseAccess 操作本地数据库
Demo.Client.DataContract 接口涉及的数据模型
Demo.Client.Domain.Query 领域查询
Demo.Client.Infrastructure.IQuery 基础框架之接口定义
Demo.Client.Infrastructure.Utility 基础框架之全局帮助类

1.Demo.Client.Domain

项目名称 项目描述
Demo.Client.DomainModel 领域模型

2.Demo.Client.Application

项目名称 项目描述
Demo.Client.Application.Imp 接口实现层 - 应用服务(包括第三方)
Demo.Client.IApplication 接口定义层 - 应用服务
Demo.Client.IRemotingService 接口定义层 - 第三方

DemoTestProject

项目名称 项目描述
Infrastructure.ConsoleTest N/A

命名规范

文件目录

目录 描述
DemoViews 存放界面
DemoViewsUserControls 存放自定义控件
DemoViewModels 存放绑定
DemoTemplateSettings 存放打印模板
DemoStyles 存放样式文件
DemoModels 存放主程序用的模型
DemoLanguages 存放多语言字典
DemoConverter 存放界面转换器
DemoControls 存放基础控件
DemoCommon 存放主程序非业务帮助类
DemoBusinessCommon 存放主程序业务帮助类
DemoClientEnum 存放主程序枚举
DemoUpdate 存放主程序升级检查

文件命名

文件 描述 举例
业务名称.cs 领域模型(数据库用) LearnCore.cs
业务名称Item.cs 领域模型(列表子项) LearnCoreItem.cs
业务名称Dto.cs 数据模型(接口服务用) LearnCoreDto.cs
业务名称DtoFor分组名称.cs 数据模型(分组拆分) LearnCoreDtoForPrice.cs
业务名称ItemDto.cs 数据模型(列表子项) LearnCoreItemDto.cs
业务名称ViewDto.cs 绑定模型(界面绑定) LearnCoreViewDto.cs
业务名称ViewDtoFor分组名称.cs 绑定模型(分组拆分) LearnCoreViewDtoForPrice.cs
业务名称Page.xaml 界面定义 MainPage.xaml
业务名称Control.xaml 控件定义 MainControl.xaml
业务名称ViewModel.cs 绑定定义(数据绑定) MainViewModel.cs
业务名称ViewModelFor分组名称.cs 绑定定义(分组拆分) MainViewModelForLearnCore.cs

代码命名

业务 描述 举例
I 业务名 RemotingService 接口定义 - 学习API服务 ILearnCoreRemotingService
业务名 RemotingService 接口实现 - 学习API服务 LearnCoreRemotingService
I 业务名 Service 接口定义 - 学习服务 ILearnCoreService
业务名 Service 接口实现 - 学习服务 LearnCoreService
I 数据表名 QueryService 接口定义 - 学习查询数据 ILearnCoreQueryService
数据表名 QueryService 接口实现 - 学习查询数据 LearnCoreQueryService

辅助调试

附加自动策略

添加位置

App_DataLocalConfigsPublishMode.json

配置说明

PublishMode
描述发布模式
枚举名 含义 数值
Release 正式上线-正式环境 1
Preview 发布预览-正式环境 2
Test 测试使用-测试环境 3
Develop 开发自用-测试环境 4
AutomaticType
描述自动操作
枚举名 含义 数值
AutoLogin 自动登录 1
MainFullScreen 主界面全屏 2
ViceSizeScreen 自定义副屏尺寸 3

配置举例

{
     
    "PublishMode": 4,
    "PublishName": "开发自用-测试环境",
    "AutomaticConfigs":[
        {
            "AutomaticType": 1,
            "AutomaticName": "自动登录,XXX家的账号",
            "AutomaticValues":[ "username","@userSuffix","password"]
        },
        {
            "AutomaticType": 2,
            "AutomaticName": "主界面全屏",
            "AutomaticValues":[ false ]
        },
        {
            "AutomaticType": 3,
            "AutomaticName": "缩小副屏",
            "AutomaticValues":[ 1024,600]
        }
    ]
}
{
     
    "PublishMode": 3,
    "PublishName": "测试使用-测试环境",
    "AutomaticConfigs":[
        {
            "AutomaticType": 1,
            "AutomaticName": "自动登录,XXX家的账号",
            "AutomaticValues":[ "username","@userSuffix","password"]
        },
        {
            "AutomaticType": 2,
            "AutomaticName": "主界面全屏",
            "AutomaticValues":[ false ]
        },
        {
            "AutomaticType": 3,
            "AutomaticName": "缩小副屏",
            "AutomaticValues":[ 1024,600]
        }
    ]
}

公共资源

.Net Core

原文地址:https://www.cnblogs.com/craigtaylor/p/11329654.html