摘要: 最近写了一些 MVVM 框架的文章,翻了一些 Microsoft Docs 的文档,顺便就对 MVVM 本身来了兴致,想看看更多当年相关的文档。在 MVVM 出现后十多年,我在不同的场合见到过多种 MVVM 的实现方式,也看到过各种 MVVM 框架的多次改进(这些框架通常包含多个用于实现解耦体系结构 阅读全文
posted @ 2020-12-09 09:29 dino.c 阅读(1443) 评论(18) 推荐(16) 编辑
摘要: Kino.Toolkit.Wpf Kino.Toolkit.Wpf是一组简单实用的WPF控件与工具,用于介绍自定义控件的入门。相关博客地址如下: 开始一个自定义控件库项目 介绍开始一个自定义控件库项目需要考虑的地方,包括版本号、目录结构等。 从ContentControl开始入门自定义控件 Cont 阅读全文
posted @ 2019-05-13 15:24 dino.c 阅读(2923) 评论(4) 推荐(13) 编辑
摘要: UWP自定义控件的入门文章 "[UWP 自定义控件]了解模板化控件(1):基础知识" "[UWP 自定义控件]了解模板化控件(2):模仿ContentControl" "[UWP 自定义控件]了解模板化控件(2.1):理解ContentControl" "[UWP 自定义控件]了解模板化控件(3): 阅读全文
posted @ 2018-11-16 11:16 dino.c 阅读(967) 评论(2) 推荐(3) 编辑
摘要: 1. 什么是 MVVM Toolkit 模型-视图-视图模型 (MVVM) 是用于解耦 UI 代码和非 UI 代码的 UI 体系结构设计模式。 借助 MVVM,可以在 XAML 中以声明方式定义 UI,并使用数据绑定标记将 UI 链接到包含数据和命令的其他层。 微软虽然提出了 MVVM,但又没有提供 阅读全文
posted @ 2021-08-19 22:31 dino.c 阅读(4329) 评论(23) 推荐(42) 编辑
摘要: 1. 什么是AppCenter Visual Studio App Center 是几个常见移动开发和云集成服务(如持续集成、持续交付和自动 UI 测试等服务)的集合。 这些 App Center 服务可以针对 iOS、Android、WPF/Winforms、通用 Windows 平台 (UWP) 阅读全文
posted @ 2021-07-21 09:10 dino.c 阅读(540) 评论(4) 推荐(3) 编辑
摘要: 1. 使用 PowerShell 脚本 在上一篇文章中我们学会了怎么使用扩展在编译前实时更改版本号。有些情况下我们希望不适用扩展,例如喜欢发明轮子,或者根本没有安装扩展的权限。这时候我们可以自己写 PowerShell 解决这个问题。 在 Pipeline 中添加一个 PowerShell 的任务, 阅读全文
posted @ 2021-06-23 09:07 dino.c 阅读(202) 评论(0) 推荐(1) 编辑
摘要: 1. 需求 在使用 Pipeline 自动化 CI/CD 流程的过程中,我还还需要自动修改程序集的版本号。这个功能 EdiWang 和LeoLaw 都写文章讲解过做法。不过我的项目基本都是 .Net Framework 项目,而且我的版本号规则也不一样,所以这里分享一下我的做法。 我用的规则版本号规 阅读全文
posted @ 2021-06-21 09:43 dino.c 阅读(278) 评论(2) 推荐(1) 编辑
摘要: 1. 桌面应用程序的 CI/CD 桌面应用程序的 CI/CD 过程和网站有一些不同,毕竟桌面应用程序的“部署”只是将安装包分发到目标位置,连应用商店都不用上,根据公司的管理流程可以很复杂,也可以很简单。在简单的情况下,Azure Pipelines 中一个桌面应用(WPF)的 CI/CD 过程如下: 阅读全文
posted @ 2021-06-18 09:29 dino.c 阅读(374) 评论(1) 推荐(3) 编辑
摘要: 1. 编译服务器 在 Azure Pipelines 中至少需要一个编译服务器的 Agent 才能编译代码或发布软件。Azure DevOps 本身已经提供了一个 Agent,但出于各种理由(需要特殊的编译打包环境、需要更高的性能、需要更多的控制权等)很多时候需要一些自托管代理。这篇文章将讲解如何在 阅读全文
posted @ 2021-04-14 16:50 dino.c 阅读(567) 评论(3) 推荐(3) 编辑
摘要: 1. 获取代码覆盖率 上一篇文章里,我们在 Pipeline 中插入一个单元测试并把所有单元测试都通过作为 Pipeline 通过的硬性要求。除此以外,我们还可以获取单元测试的代码覆盖率,用作衡量代码质量的指标。代码覆盖率没有一个标准,各个项目有各个项目的造化,不一定更高的单元测试覆盖率就代表项目的 阅读全文
posted @ 2021-04-08 09:22 dino.c 阅读(439) 评论(1) 推荐(1) 编辑
摘要: 1. 什么是 Azure Pipelines Azure Pipelines 会自动构建和测试代码项目,以将其提供给其他人。它适用于任何语言或项目类型。Azure Pipelines 结合了持续集成 (CI) 和持续交付 (CD),以持续不断地测试和构建您的代码,并将代码运送到任何目标。 在网上关于 阅读全文
posted @ 2021-04-07 11:45 dino.c 阅读(1123) 评论(1) 推荐(3) 编辑
摘要: 1. 什么是 Azure Repos Azure Repos 是一组版本控制工具,可用于管理代码。无论您的软件项目是大型项目还是小型项目,都应尽快使用版本控制。 版本控制系统是可帮助您跟踪随时间变化对代码所做的更改的软件。在编辑代码时,您告诉版本控制系统对文件进行快照。版本控制系统会永久保存该快照, 阅读全文
posted @ 2021-04-01 11:20 dino.c 阅读(892) 评论(3) 推荐(3) 编辑
摘要: 1. 什么是 Azure Boards 通过 Azure Boards 网络服务,团队可以管理其软件项目。它提供了丰富的功能,包括 Scrum 和看板的本地支持、可定制的仪表板和集成报告。这些工具可以随着业务的发展而扩展。 您可以快速轻松地开始跟踪与项目相关的用户故事、积压项目、任务、功能和错误。您 阅读全文
posted @ 2021-03-17 09:03 dino.c 阅读(619) 评论(0) 推荐(2) 编辑