• 初识软件体系结构(架构)


    对于架构这一概念一直以来都是一知半解,老师提到很多,对自己而已仅仅只是耳熟而已。对于一个在校大学生而言,我们所做的系统没有那么复杂,架构似乎很遥远,在我们的编程过程中没有涉及到相关知识,而所做的系统也仅仅只是实现功能。

             随着不断的深入学习,我们会在大量的编码过后发现,可以将代码分模块编写,而编程的效率也大大提高,那么这是不是对代码的架构?今天有幸得老师推荐了知识库9篇关于架构的文章,通过阅读,也算是对架构有了一个粗浅的理解。

    什么是架构?

             文章第一部分以人为例,通过人类社会生产活动的发展来解释架构。结合作者的观点我来谈谈自己对于架构的认识。

             以一块手表为例,人们最开始使用手表的时候,也许只有时针,比较笼统的给出大概的时间范围,而随着人们对时间精度的要求,时针所代表的小时范围太大,如何能将小时细分更好的显示时间,这个时候我们定义了一个新的指针——分针,将每一小时更加精确的显示。这个时候就产生了分工,将时间的显示分成两部分构成,同时这两部分之间又有着密切的联系,时分组成一个整体完成一块表所具有的活动,这就是架构。

             对架构做一下总结:

      1.规定目标系统的范围(即边界),这样做的好处在于对需要架构的系统有一个整体的认知。

      2.对目标系统进行切分时遵循的原则应该是利于不同的系统,同时对于切分出来的部分,并行关系效率更高。

      3.对于切分出来的部分应当互有联系,不能成为一个独立的个体。

      4.这些部分之间通过联系,作为一个整体完成工作。

    什么是软件架构?

             读完作者第六章的内容,对于什么是软件架构还是云里雾里,在这里谈谈我自己的理解:首先软件架构依旧是架构,它具有架构的一切特点,而它相对于架构来说更加具体,有自己需要解决的问题。那么对于软件来说,必然是要完成某个特定的功能,而这个功能必然有着自己在现实生活中的对照,即流程。那么我们的目标应该就是要分析软件的业务问题,将业务模块化,切分成不同的部分,再辅以代码进行实现。所谓软件架构,应当是在宏观的角度将软件过程分解,切分,不关注具体的实现,为编码人员构架一个具体的框架,即边界,而具体内容的实现,由编码人员负责。

    架构切分的原则

             架构的切分是内部活动,对系统所要解决的问题没有任何影响。

             所有的架构分拆,应当形成树状的结果,不应该变成有向图,树的层数越多沟通越多,效率越低,分层要越少越好。

    为何要架构?

             归根到底,架构的目的在于提高效率,获取更大的利益,也就是成本为王!架构,将系统细分的同时能够及时而有效的解决出现的麻烦。

             一个系统功能越强大,则它的内部环境越发精巧,而架构正是将内部环境精巧化的过程。

    架构师解决的是别人的问题,不是自己完成工作的问题。

    文章地址:http://kb.cnblogs.com/page/539160/

  • 相关阅读:
    《增长黑客》阅读内容摘要(前三章)
    ios的安全机制
    R语言  RStudio快捷键总结
    R in action 笔记(第二部分)
    R in action 笔记(第一部分)
    R统计函数-开源
    R语言函数索引-11月
    mysql join的优化实例
    android异步消息处理机制
    android ListView与EditText共存错位
  • 原文地址:https://www.cnblogs.com/SanShaoS/p/5443435.html
Copyright © 2020-2023  润新知