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

名稱管理

分支名稱建議採用"用戶名-版本標記-發佈模式-建立年月日"格式數據庫

例如:json

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

Tag名稱建議採用"版本標記-發佈模式-建立年月日-版本號"格式windows

例如:app

  • 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"格式框架

例如:asp.net

  • 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"格式dom

例如:編輯器

  • 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

相關文章
相關標籤/搜索