扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
2. 方法论选择
解决问题的办法就是分治。要被分解问题域是:数据(模型),计算和流程;而如何分解问题便是架构师的取舍啦,流行的有OOD和AOSD两种。
在大比例结构中必需考虑的是:抽象分层,技术分层以及模块切分。抽象分层(包括模型,计算以及流程抽象)以及模块切分是基于业务的纵向以及横向分解。而技术分层则是对于业务逻辑的技术分类,分类本身还可能涉及到平台技术限制。所有分解都涉及到上下文的边界建立——不仅仅是业务逻辑同时也是技术边界。
分解问题必需考虑人的因素,降低分解后的知识学习阻力,保持知识的内聚以及有效组织是保证分解成功的关键。这些工作将有效保证开发人员不做出破坏系统分解边界的行为。
考核分解的有效性:保证开发的效率。分解的目的是降低解决问题的难度,从而提高生产效率,如果分解方案增加了系统适应变化的能力,那么分解方案可能是错误的。
除了开发方法还有开发方式,已知的三种开发方式:编程式,声明式以及产生式。
开发方式的选择和技术分层有相当的联系,一般认为除了Service以及Model,其它的技术分层代码尽量使用声明式以及产生式开发方式来完成,减少建立以及维护成本,提高效率。
对于Domain Model还要分析model的生命周期,明确设计主题。
3. 过程选择
选择的过程,最重要的是让问题及早暴露(降低成本),尽早让用户使用(创造价值).
敏捷方法就是要让问题更快的暴露,让功能更快的实现。
文档,文档是过程的一个重要产物。文档也是保证知识传递的。
在问题分解情况下的开发角色分为三种:开发者,使用者以及维护者。开发者写的文档给后两者看,最最关键是写给使用者的文档。
所有的决定都是基于利益和成本考虑的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者