Prism Step7 Command

什么是Command?先看下微软官方的说明:

Commanding is an input mechanism in Windows Presentation Foundation (WPF) which provides input handling at a more semantic level than device input. Examples of commands are the Copy, Cut, and Paste operations found on many applications.

命令是Windows Presentation Foundation(WPF)中的一种输入机制,它提供比设备输入更多的语义级别的输入处理。命令示例包括在许多应用程序中发现的“复制”,“剪切”和“粘贴”操作。

阅读更多
Prism Step6 Modules

Prism Step6 Modules

Modules 是能够独立开发、测试、部署的功能单元,Modules 可以被设计成实现特定业务逻辑的模块(如 Profile Management),也可以被设计成实现通用基础设施或服务的模块(如 Logging、Exception Management)。

既然 Modules 能够独立开发、测试、部署,那么如何告诉 Shell(我们的宿主程序)去 Load 哪些 Module,以怎样的形式 Load 这些 Module 呢?Prism 为此提供了一个叫 ModuleCatalog 的东西。他用这个来管理 Module。所以在 App 启动之初,需要创建配置一个 ModuleCatalog。

阅读更多
扶轮国际社SAAS平台
Github Action 自动部署Hexo

Github Action 自动部署Hexo

我个人搭建博客已经有走过了很长的一段路程了,从之前的博客园 -> WordPress -> 自主建站 -> 到现在的 Github Page,从原来的喜欢折腾,到现在的不想做任何维护,心态也发生了很大的变化,现在只想找一个什么都不管,就专心写博文的平台,在 17 年接触到了 Hexo,那个时候发现这个 nodejs 实现的博客框架真的很不错,生成页面的速度很快,也提供了 ejs 构建自己的渲染主题,而且搭配 github page,让我感受到了前所未有的清爽,轻量,迅速,现代化的 UI,各种插件(评论插件,访问量插件,随便举几个例子),一瞬间就俘获了我,但是每次都得 generate 和 deploy 太麻烦了,于是在 github action 推出的时候,我也第一时间把这些繁琐的事情 CI/CD 化了,接下来就介绍一下如何配合 github action 实现懒人之道。

阅读更多
Travis CI/CD自动化部署Hexo

Travis CI/CD自动化部署Hexo

由于博客的源码和生成站点位于不同的代码仓库中(源码位于 lingme.github.io.repository,生成的静态站点位于 lingme.github.io,即个人 GitHub Pages 的仓库),文章的发布过程需要提交两次。作为懒人之道,自然会开始折腾只需要提交一次、博客就自动部署到 GitHub Pages 上的方法——这里就轮到 Travis 登场了。

阅读更多
Prism Step4 ViewModelLocationProvider

Prism Step4 ViewModelLocationProvider

ViewModel 是对应的 View(数据和行为)的抽象,View 只是 ViewModel 的一个消费者,那么还有其他的消费者吗?当然有了,那就是单元测试(Unit Test),这个后面说。ViewModel 为 View 提供数据上下文(DataContext),简单的说,你 View 需要展示的东西,都在我这里,你需要跟我绑定,包括数据和命令,Prism 提供了自动的 ViewModel 匹配。

阅读更多
Hexo加速渲染速度之Fragment Cache

Hexo加速渲染速度之Fragment Cache

从使用 Hexo 到现在已经陆续写了几十篇文章了,现在发现了严重的问题,hexo generate 渲染的速度越来越慢,现在 35 篇左右,每次渲染时间到达了 20+ s,查看了官方 api,看到了 fragment_cache 局部缓存这个东西,解决了渲染速度的问题。

阅读更多

Prism Step3 CustomRegions

Prism系列的第三篇,我的更新速度也是有点慢,大家凑活看吧,这一片主要讲自定义占位符的使用,Regions是定义在应用UI中的逻辑占位符(在Shell或者在其它的视图中),视图会在其中显示。简单的说,就是一个容器(区域适配器),用来装载Views。功能和Panel控件差不多。视图可以以编程的方式或者自动被显示在Region中。

阅读更多
Prism Step2 Regions

Prism Step2 Regions

Prism 可以帮助我们开发模块化程序,将程序分割成一个个独立的 Module,分别进行开发。然后在程序运行的时候,将各个 Module 组合到一起,为程序提供各种各样的功能。通常来说,Module 是一些视图和功能的集合,那么就需要一种办法来将这些视图以某种形式,在特定的时间展现出来。Prism 通过 Shell + Region 来组织视图的布局,完成视图间的转换等。

阅读更多