zoukankan      html  css  js  c++  java
  • 关于“架构”与“框架”、“模式”与“模型”的思考

    概念

    架构

    软件结构上具体的表现形式,其抽象的对应概念是——模型!

    所以你听说过各个公司的组织架构,但其架构不可能都相同。
    我们常常听说“架构师”,但很少有“模型师”——真正的模型师,就是Gof,是总结这些模式的人。而我们可以努力成为一个“架构师”,为不同的公司从头搭建一个不同的“架构”(当然这个过程里少不了套用各个“模型”)。

    模型

    抽象的一般化的软件结构——是根据长期的实践经验总结出的一套“软件模块化布局”。不同的布局存在着不同的应用场景,但其通过巧妙地设计思路可以灵活的实现某些需求场景。

    所谓复用一种模型,就是在相同的应用场景下,按照模型,搭建一个结构相同的新产品。

    框架

    一种可以复用的,已经部分实现的半成品,用于解决特定的问题——例如GUI框架,网络通信框架等等。

    框架中往往已经参考了某些模型,并实现了各种设计模式。它屏蔽了这些技巧,当然也就不需要你再重新搭建架构(毕竟你们要做的是同样一个场景下的事情)。所以很多人误认为框架就是架构。但架构只是一种设计思路,他能指导你开发,却不能直接帮你写代码——框架则不同,它实现了几乎所有通用的代码,而这些代码中的类和对象,你都可以拿来复用——在已有的架构中,用着 封装好的功能库,留给你的就只剩下了业务逻辑控制。

    设计模式

    设计模式研究的是对象与对象之间的关系。一般来说,对象是组成程序的,所以设计模式往往用在程序设计(编码)过程中。

    所谓模式,实际上更应该说是一种可以复用的技巧,它不一定像“模型”一样体现着模块之间的整体关系,而是“模型”的超集,可以用在设计领域的方方面面。

    但对象之间的关系也可以套用在更广的维度中——模块间的结构与关联、进程间的交互,都可以复用设计模式中的某些思路——尤其是结构模式模式和行为模式中的某些设计理念,经久不衰,历久弥香……

  • 相关阅读:
    32/64位平台printf uint64的方法
    [Linux 安装]centos安装vmware tools
    【Linux】fg bg ctrl + z jobs & 等命令
    让我们慢慢地彼此遗忘
    ctrl+c,ctrl+d,ctrl+z在linux中意义
    Windows 7 右键菜单 添加命令
    修改vs2010所有工程的include目录和lib目录
    Vmware虚拟机的linux与主机共享
    防止atoi函数内存越界
    JavaScriptSerializer使用条件
  • 原文地址:https://www.cnblogs.com/brt3/p/9828254.html
Copyright © 2011-2022 走看看