• 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

  • 相关阅读:
    75
    74
    接口理论知识
    软件测试计划的编写
    软件测试的生命周期&软件测试工作流程
    软件测试分类体系系统学习
    Mysql之高级查询
    数据库的DML操作
    Mysql之数据完整性约束
    Mysql之DDL操作
  • 原文地址:https://www.cnblogs.com/craigtaylor/p/11329654.html
Copyright © 2020-2023  润新知