zoukankan      html  css  js  c++  java
  • 软件功能模块化的方法讨论

    结合本人工作中的一些经验心得,说一说软件功能模块化的方法。

    SW=A+B+C+D+E+...
    全功能软件总是由很多很多功能模块组合而成。
    而针对不同客户,其需求并不完全相同,比如:
    SW1=A+B+C+D,
    SW2=B+D+E,
    SW3=A+C+D,
    ......

    所以,就要针对不同客户给出不同的软件。那要如何才能做到呢?
    通常有两种做法:
    1. 编译时决定。
    使用模块化的宏将不同的功能独立起来,这样在编译时
    根据不同客户需要来决定是否开启某个功能。
    使用这种方法的优点是编译后生成的软件总是为了特定客户的需求,所以生成的软件比较小。
    其缺点是代码中可能会嵌入大量的宏,不利用软件维护;另外针对不同的客户都要进行维护,
    所需的人力资源相对较大。

    2. 运行时决定。
    编译出的软件总是一样的,
    SW=A+B+C+D+E+...
    然而针对不同的客户需求,都会有一份默认的配置文件,
    通过在软件运行时读配置文件来动态地决定启动哪些功能。
    使用这种方法的优点是虽然不同的客户有不同的需求,但是软件总是一份,维护起来相对容易。
    其缺点是最终的软件是全部功能模块的集合,所以生成的软件较大。

  • 相关阅读:
    SSL 1010——方格取数
    SSL 1558——科技庄园
    SSL 2295——暗黑破坏神
    SSL 2294——打包
    SSL 2293——暗黑游戏
    SSL 2305——竞赛总分
    SSL 1072——砝码称重
    SSL 2291——分组背包
    SSL 2290——潜水员
    SSL 2301——混合背包
  • 原文地址:https://www.cnblogs.com/riskyer/p/3341936.html
Copyright © 2011-2022 走看看