目錄
更新日誌
2019/08/09 |
完成v1.0版本文檔 |
CraigTaylor |
開發環境
開發工具
代碼管理
項目代碼
分支管理
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
依賴組件
內部組件
外部組件
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 |
解決方案結構
解決方案命名
解決方案文件夾
基礎層 |
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