构建联系人管理器:从MVC/MVP到Presenter与View的实现
1. 常见模式问答
在交互式应用架构中,除了MVC和MVP模式,还有许多其他模式。与MVP相关且可能有助于WPF开发的两种模式是Supervising - Controller和Passive - View。
关于模型相关术语,如实体(entity)、值对象(value object)、聚合(aggregate)和仓库(repository),它们来源于2003年Eric Evans所著的一本书,这本书专注于探索如何构建丰富的软件模型,是许多常用模型相关术语的来源。
下面是一些问答及解答:
| 问题 | 解答 |
| — | — |
| MVC模式的哪一部分不完全适用于WPF,为什么? | 原始MVC三元组中的控制器(Controller)与WPF的设计不太契合。因为在原始模式中控制器的许多职责已被WPF丰富的控件集所取代。 |
| 在MVP模式中,“M”的作用是什么? | “M”代表模型(Model),该部分应用程序的主要目的是在软件中表示特定于业务的构造。 |
| 什么是仓库,它如何应用关注点分离(SoC)原则? | 仓库是一种类,它向应用程序的其他部分隐藏实际的数据存储机制。它通过将任何与数据相关的代码与其他类分离,并以一种向无关方隐藏内部复杂性的方式进行封装,体现了SoC原则。 |
2. 构建联系人管理器的活动
- 研究MVC和MVP:花些时间在互联网上研究MVC和MVP模式,加深对它们的理解。
- 重写ContactRe