• 模块之间的使用模式


    模块开发目标:低耦合,高内聚

    如何达到这目标?
    由架构师定义好一整套可行的接口{具体如何达到,这个基本步骤书本或网络都有,主要要看架构师的功力}

    根据自身多年开发项目,这里总结下。
    说下模块的使用模式
    模块A:函数/接口提供者
    模块B:函数/接口使用者
    应用程序C

    1、调用模式
        由模块A定义函数/接口,模块B直接引用调用函数/接口,应用程序C直接引用调用模块B
        模块之间的使用是层次调用(就是说没有模块A的实现,模块B的调用肯定无效),其函数/接口的声明和实现均由低端处理
        应用场景:分层开发大部分应用,比如DB层和业务逻辑层
        注意:模块B可以调用多个模块,这里描述仅仅简化
    2、委托模式
        由模块B声明函数/接口,模版A为函数/接口实现,应用程序C引用模块A和模块B调用
        模块之间的使用是可选调用(就是说模块B声明的函数/接口,实现与否都能正常执行),其函数/接口的声明由应用端声明,平行模块或低端模块或自身模块来实现
        应用场景:通讯模块一般都需要委托数据处理模块帮其解析数据和分析数据,如果没有数据处理模块,它仍然能正常工作。
        注意:函数/接口的实现可以平行模块、或底层模块、或自身模块;其使用均在程序应用层

    两者最大区别:
    后者即使没有实现协议,也能正常完成执行流程。


    在实际项目中,常常由于没有架构师的处理,导致一些接口定义的工作和需求,往往不明显;
    常出现的状况:模块A的开发人员定义的接口和模块B的开发人员想的接口不一样;还会出现模块之间的使用模式不定,往往是口头上说委托,而实际使用模式是调用。

    培养一个常规的团队,这个很重要。


    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    Visual Studio调试器项目设置
    Debug.Assert Everyone!
    WinDbg中的.natvis文件和类型模板
    已安装的.NET CLR版本之间的w3wp.exe崩溃WinDbg后期调试
    用于DLL注入的WinDbg扩展---!injectdll
    Wireshark中PIDs与网络包的关联
    又又一款抓dmp工具---ProcDump
    基于.NET框架版本在Windbg中加载sos的脚本
    未记录的WinDBG扩展命令---itoldyouso
    合并符号服务器
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2259904.html
Copyright © 2020-2023  润新知