做网站不错的公司,网站程序下载,天津网络营销,遵义网站制作外包MMN#xff08;Macro-Micro-Nano#xff0c;即宏观-微观-纳米#xff09;实用架构过程初步体现了我的架构观#xff1a;即以实用主义态度把握架构原则与本质思想#xff0c;从系统的各个层次剖析架构#xff0c;提供一个具有指导意义和实施价值的架构过程#xff0c;采取…MMNMacro-Micro-Nano即宏观-微观-纳米实用架构过程初步体现了我的架构观即以实用主义态度把握架构原则与本质思想从系统的各个层次剖析架构提供一个具有指导意义和实施价值的架构过程采取简略、敏捷而又全面的方式对软件系统进行架构与设计。架构的步骤必须是清晰可见每一步都有明确的目标与实际的指导意义。MMN实用架构过程既有大局观的思考与基本原则指导又要着眼于细处突出强调宏观、微观与纳米粒度在架构视图中的合力既关注宏观的体系架构又重视层、模块、组件之间的协作方式与公开的接口同时还极度重视编码质量并将这种细节的编码风格与重构模式纳入到架构体系中来。 对于MMN架构而言因其关注的粒度和视角的区别存在自上而下的层次模型如下图所示 每个层次的关注点是不相同的。 宏观架构更多地是关注系统的质量属性例如可伸缩性、安全、性能、可扩展性。而从功能需求的角度而言则需要对业务进行建模分解子系统、层次以及包与模块。宏观架构涉及到架构风格、应用类型、技术选型、总体设计原则等诸多架构因素。宏观架构还必须明确架构目标与关键的用例场景识别系统的热点与架构风险确定影响架构质量的因素并制定对应的架构策略。 微观架构更多地需要关注宏观架构的实现但不仅限于此。它需要考虑功能的重用性与可扩展性考虑服务接口的定义。微观架构会根据架构风格、应用类型以及部署方式来确定对资源的处理方式、对数据的处理方式以及对消息的传递方式。从逻辑架构来看微观架构将深入进行领域分析完成领域的建模以获得业务模块的分解。同时还需要针对应用架构进行模块和组件的分解并定义公开接口考虑模块组件之间的依赖关系和接口的调用方式。微观架构还需要考虑物理模型定义物理部署模型确定资源的分配以及通信机制与运行时的执行视图。整体而言微观架构是模块级与组件级的视图至于适当引入的分析与设计则针对主要的用例场景以及核心类。 纳米架构可以说是代码级的架构体现在代码的清晰度、健壮性以及可读性。纳米架构极为重视方法与类的粒度以及类与类之间的协作。纳米架构与编码风格有关重视代码结构的改善与重构。纳米架构需要考虑对象职责的分配与协作寻找功能的变化点准确地运用设计模式和面向对象设计思想。在纳米架构中还需要考虑配置管理与持续集成的方式。 MMN架构不仅仅是自上而下的过程不同的视图之间还存在交集。这些交集主要体现在原则、模式和方法学之间的交叉如下图所示 无论架构处于哪个层面下均存在统一的原则需要遵循例如SRP、DRY以及关注点分离原则。这些原则既体现了一种整体的核心思想同时又适合各种粒度层级、模块级、组件级、对象级的设计。模式同样如此。例如架构模式中分层模式、管道-过滤器模式、微核模式等都是在宏观层面上提出了成熟的解决方案但架构模式中的MVC模式、代理模式、PAC模式等又都可以运用在层或者模块内指导对象之间的协作、职责的分离与抽象。对于方法学而言我们既可以运用EA的方法学例如Zachman框架也可以运用DDD领域驱动设计或者TDD测试驱动开发以及ICONIX。甚至于采用CRC卡来帮助我们明确组件或对象之间的职责协作。 实用架构过程以宏观、微观与纳米架构作为关注的视点指导架构师完成软件系统架构的构建形成统一而又层次分明的过程体系。实用架构过程包括定义架构概图、架构全局分析、构建概念模型、创建物理视图与逻辑视图以及代码视图与设计模型。 以下是整个架构过程的概要流程图