确定解决方案和环境策略
本单元提供了由始至终开发解决方案和环境策略的示例。 第一个任务是查看解决方案。 然后,您将概述希望解决方案细分呈现的外观。 本示例使用垂直解决方案细分。
此外,本示例应用环境策略,以便与解决方案体系结构保持一致。 始终确保在设置新开发环境时存储发布者解决方案以便于快速访问。
存储发布者解决方案时,请考虑以下参数:
通过将发布者解决方案存储在源中,我们能够将发布者作为非托管解决方案共享到新的开发环境,从而确保进行准确设置。
建议为所有工作使用单个发布者。
解决方案分层
下图显示了托管解决方案的部署后分层。
对于插件,SDK 消息处理将创建依赖项,可强制执行解决方案的导入顺序。 因此,通常会先导入插件程序集。
解决方案和环境策略的实际运用
本示例有三个按应用进行细分的解决方案,共享组件位于单独的解决方案中。
此策略不是构建解决方案体系结构的最终方法,但这是了解适当解决方案细分的良好开端。 此策略包含以下解决方案:
核心 - 此解决方案包含共享组件。
招生 - 此解决方案包含专门为招生部门开发的所有功能。 此解决方案取决于核心解决方案中的组件。
经济援助- 此解决方案包含专门为经济援助部门开发的所有功能。 此解决方案取决于核心解决方案中的组件
开发流程设置
通过了解所需的三个解决方案,您现在能够确定如何设置开发环境。 首先,您将设置一个用于开发核心解决方案的环境。
顶层环境将用于开发包含共享组件的核心解决方案。 首先,在目标开发环境中创建核心解决方案作为非托管解决方案。 请记住,您只能在导出流程中将解决方案从非托管更改为托管。
按照将依赖项包含为托管解决方案的模式,您需要先完成某些任务,然后才能在下游使用核心解决方案。 在将核心解决方案引入招生和经济援助的开发环境之前,确保您有一个可行的代码库来支持开发分层应用。
拥有可行的代码库不会阻止开始开发分层应用,因为它们可能具有不含依赖项的独特组件。 为了简单起见,首先要生成核心解决方案。
完成核心解决方案的开发冲刺并将更改签入存储库后,您将部署在招生和经济援助开发环境中托管的核心解决方案。
为每个环境引入一个非托管解决方案的原因
通过仅为每个环境引入一个非托管解决方案,您将杜绝引入不必要的依赖项。
此外,这种方法允许您有效地使用细分和解决方案分层。
获取托管解决方案
确立了依赖项后,我们现在可以引入其他解决方案。
在相应环境中创建或导入招生和经济援助解决方案。
您可以在同一环境中使用多个非托管解决方案,但仅当您确定这些解决方案不会产生相互依赖时,才应这样做。 在某些情况下,这个概念可能更合理。 例如,如果解决方案彼此完全独立,那么在同一环境下管理它们可能很有意义。