场景
从一开始学习编程,各种教程都在碎碎念着弱耦合的事情,为什么要弱耦合呢?最重要的目的之一最大化的代码复用,设想一下,如果你经常要开发一些小程序,这些程序的部分内容略有不同,但它们都有着一些共同点,比如他们都需要有用户权限管理、日志、导航等等一系列共同内容,你如何去复用这些代码?
复制粘贴大法是很多人的第一选择,但是如果你想在所有做过的程序修复同一个bug,那就会产生大量的重复劳动。
弱耦合可以解决这些问题,但是我们具体应该怎么才能做到弱耦合呢?最直接的方法就是使用设计优良的框架。
如果只能用一个词来概括 Prism 的设计目的,那这个词一定只能是“解耦”。
Prism框架中的MVVM, 模块 Module,区域 Region ,依赖注入 Dependency injection container ,事件聚合(EventAggregator),服务 Services...无不围绕着“解耦”这个目的进行设计,最终使我们能够在这个框架之上,搭建松散耦合、可维护的应用程序。
在本系列博文里,我想基于一些小实例,来阐述一下这个框架给我带来的方便之处,分享一些我对Prism框架的粗浅的使用心得,以供大家借鉴。另外,Prism在WPF、Xamarin Forms、Uno Platform和WinUI中都有各自的实现,本系列博文只讨论WPF Prism。
在这个系列里,我会为大家演示几个实用的小项目——Socket助手、串口助手、串口转发器、上位机等。我会向大家演示如何配合git快速地在多个项目间“反复横跳”,以及如何优雅的维护多个项目。
本系列博文使用到的示例,我会开源在我的码云,https://gitee.com/tfarcraw/prism-core.git 有兴趣的小伙伴可以先看看,后面我会慢慢讲。