目录

更新日志

更新时间 更新日志 更新人员
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

打包管理

存储路径

项目名 测试版 正式版
标准版 \共享存储\Demo\Demo.Client\测试版 \共享存储\Demo\Demo.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

命名规范

文件目录

目录 描述
\Demo\Views\ 存放界面
\Demo\Views\UserControls\ 存放自定义控件
\Demo\ViewModels\ 存放绑定
\Demo\TemplateSettings\ 存放打印模板
\Demo\Styles\ 存放样式文件
\Demo\Models\ 存放主程序用的模型
\Demo\Languages\ 存放多语言字典
\Demo\Converter\ 存放界面转换器
\Demo\Controls\ 存放基础控件
\Demo\Common\ 存放主程序非业务帮助类
\Demo\BusinessCommon\ 存放主程序业务帮助类
\Demo\ClientEnum\ 存放主程序枚举
\Demo\Update\ 存放主程序升级检查

文件命名

文件 描述 举例
业务名称.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_Data\LocalConfigs\PublishMode.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

Demo客户端相关规范 v1.0的更多相关文章

  1. Linux系统部署规范v1.0

    Linux系统部署规范v1.0 目的: 1.尽可能减少线上操作: 2.尽可能实现自动化部署: 3.尽可能减少安装服务和启动的服务: 4.尽可能使用安全协议提供服务: 5.尽可能让业务系统单一: 6.尽 ...

  2. arcconf工具相关命令V1.0

    arcconf工具相关命令V1.0 清除当前所有raid配置 Arcconf  delete  1  array  all       #删除所有逻辑盘 Arcconf  uninit  1  all ...

  3. Python代码项目目录规范v1.0

    程序目录规范:bin # 存放可执行程序 xxxx.py # 程序主程序(入口文件)config # 存放配置信息 settings.py # 全局配置文件(可能暂时未应用)db # 存放数据文件 c ...

  4. 【iCore4 双核心板】DEMO V1.0 测试程序发布

    iCore4 Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17: 2.“fpga”里是iCore4上FPGA的程 ...

  5. 【iCore1S 双核心板】DEMO V1.0 测试程序发布

    iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPG ...

  6. 安卓开发开发规范手册V1.0

    安卓开发开发规范手册V1.0 之前发布过一份Web安全开发规范手册V1.0,看到收藏文章的读者挺多,发现整理这些文档还挺有意义. 最近周末抽了些时间把之前收集关于安卓安全开发的资料也整理了一下,整理出 ...

  7. [iOS UI进阶 - 2.0] 彩票Demo v1.0

    A.需求 1.模仿“网易彩票”做出有5个导航页面和相应功能的Demo 2.v1.0 版本搭建基本框架   code source:https://github.com/hellovoidworld/H ...

  8. MingQQ v1.0高仿版开源了,使用WebQQ协议实现了QQ客户端基本的聊天功能...

    MingQQ v1.0高仿版开源了,使用WebQQ协议实现了QQ客户端基本的聊天功能... MingQQ目前支持的功能如下:1.支持普通方式登录.验证码方式登录.注销.保持在线.改变在线状态.2.支持 ...

  9. Rookey.Frame v1.0快速开发平台-用户登录

    上一次介绍的了Rookey.Frame v1.0快速开发平台的整体功能,接下来会对各个功能点进行解析说明,今天给大家介绍下系统登录功能. 用户登录 系统中基本上所有功能页面都是从后台代码拼接后返回的, ...

随机推荐

  1. 如何使用python内置的request发送JSON格式的数据

    使用步骤如下: 一.如果想发送json格式的数据,需要使用request模块中的Request类来创建对象,作为urlopen函数的参数 二.header中添加content-type为applica ...

  2. 关于https的五大误区

    如今,https协议正在被广泛重视和使用.随着今年2月初,谷歌旗下Chrome浏览器宣布将所有http标示为不安全网站,许多网站都争相从http升级到了https.当你打开很多网站时,会发现浏览器左上 ...

  3. [Javascript] Run asynchronous functions in sequence using reduce

    This can be handy if you have a rate limit on API requests or if you need to pass the result of each ...

  4. 线程(C++11)

    不同平台.框架.语言所使用的线程函数不同.对于初学者选择一种适合自己的,用熟用透即可. Windows中,CreateThread() Linux中,pthread_create() MFC框架中,A ...

  5. IDEA2018创建SpringBoot无法连接https://start.spring.io

    这是由于spring-boot需要访问https://start.spring.io外网,但是由于国内的局域网限制导致的. 解决办法: 进入到IDEA的setting 搜索 HTTP Proxy 选择 ...

  6. IDEA中获取资源路径问题

    更正 以src开始,就能用相对路径了... shift+ctrl+alt+s 调出项目结构, 在Modules里,就是设置 Sources Resources Test的界面, 右面的路径就是相对路径 ...

  7. python常用函数2

    2.reduce()函数 reduce() 函数也是python内置的一个高阶函数.reduce()函数接收的参数和 map()相似,一个函数   f ,一个list,但行为和  map()不同,re ...

  8. 下面的代码在Python2中的输出是什么?解释你的答案

    python2 def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s ...

  9. 第六章、Linux 的档案权限不目彔配置

    1. 使用者不群组 2. Linux 档案权限概念 2.1 Linux 文件属怅 2.2 如何改变文件属怅不权限: chgrp, chown, chmod 2.3 目彔不档案乀权限意丿 2.4 Lin ...

  10. sql server 发布订阅

    [配置] 一. 发布方 复制 >> 如果有问题 C:\Windows\System32\drivers\etc hosts: 127.0.0.1 ?? 二. 订阅方 订阅方设置结束 三. ...