美文网首页
软件架构设计案例总结

软件架构设计案例总结

作者: 程序引力 | 来源:发表于2018-11-24 23:35 被阅读133次

    软件架构设计案例总结。

    前言

    优秀的软件系统离不开好的架构设计,但很多开发者关注架构设计时,往往停留在概念层面,缺乏对实际案例的理解,同时概念与实践容易脱离。为此,笔者将开发过程中遇到的一些架构设计的案例作相应总结。可能许多案例非常小,但是积少成多,到了一定的数目后,自然会对架构设计有不同的理解。本文的案例均以Java代码为载体来进行描述。

    是否应该传递对象?

    在模块化的软件系统中,少不了通过接口传递对象。常见的设计就是通过接口方法的返回值获得对象。例如:

    Data getData(String para);
    

    这是一种显而易见的设计。

    但实际上,可以有不同的实现,例如

    void getData(Data data, String para);
    

    两者的区别在于:

    • 前者通过返回值获取期望的对象,后者初始化对象后传递给调用方修改对象
    • 前者由被调用方构造对象,后者由调用方构造对象
    • 前者在调用方法时,对结果对象一无所知。后者在调用方法前,可以知道结果对象的部分情况。
    • 前者无法预处理结果对象,后者可以预处理对象
    • 前者是同步阻塞型,后者可以做异步处理

    两者的适用场景可以根据它们的区别点来选择。同时,对于前者常见的例子非常多,此处暂举一个后者的例子作为案例。在模块化的安卓应用中,可以通过接口获得视图或布局View。使用后者作为设计方案的例子为:

    void process(MyView myView, String para)
    

    其布局可以为

    <LinearLayout>
        <MyView>
        // xxx
        </MyView>
    </LinearLayout>
    

    即调用方可以在自己的布局中初始化期望的View,并且在使用接口时,将该View的对象传递给其他模块处理,其他模块对该View对象进行处理,从而更改的期望View的外观和行为。

    相关文章

      网友评论

          本文标题:软件架构设计案例总结

          本文链接:https://www.haomeiwen.com/subject/pzsuqqtx.html