《架构之美》读后感

来源:互联网 发布:职人介绍所 知乎 编辑:程序博客网 时间:2024/04/28 13:55

为什么要学习架构?

之前,老师教我们软件架构的时候,就告诉我们,软件开发,先从架构入手。他说,弄清楚了架构,再来学习具体的语法和技术就很简单了。以前不懂,底层具体的细节都不了解,如何来构建一个系统呢?就像让我们去建造一栋大厦,刚开始想到的可能就是需要砖、砌墙的工具、、、、、这就像刚学习编程的自己,以为掌握了一门语言,会使用几个工具就能建造一栋高楼大厦。完全不可能的,最多就是建造一个茅草屋,风一吹就倒了,只是供自己娱乐而已。要建造一栋漂亮的并且让客户满意的大厦,可以说很难,也可以说很简单。建造茅草屋有建茅草屋的工具,简单、便宜的东西就像,这就相当于我们经常使用的tomcat,可以供少量用户连接。还用更贵的,基本没有接触的,weblogic等,用来处理大量的用户连接。建造一个茅草屋肯定用不着大吊车了。也许自己能建造一个稍微好一点的、看起来不错的房子,但缺乏检验,没有客户来验证,只有自己感觉好或者哪里不好。

学习架构,首先要明白自己用架构解决哪些问题,明确系统能够满足利益相关人的哪些关注点。写到这里,突然感觉找工作其实就是在为自己构建一个系统,知识系统,里面也包括了实用性、可扩展性。实用性就是自己有哪些项目经验,能够为公司解决哪些问题,给公司带来哪些利益,而不是公司花时间和精力来培养你,一到公司就能解决问题是最好的。可扩展性,就是你的学习能力,是否能够快速掌握一门技术,快速解决一个问题,慢是要付出时间成本的,上面的实用性也涉及到成本问题。所以,自己的价值体现在两个方面,一是当前的能力,另外是未来的能力。一般公司,首先看到的当然是你的当前能力,说自己有很强的能力,但目前却啥都不会,说出来,别人会觉得你有潜力吗?肯定不会相信了,所以当前的能力很重要。软件开发中,经常就涉及到架构问题,架构设计得好,可以让项目的开发周期变短、让系统的维护更加容易、让系统的扩展性更强。当然,也不会有十全十美的事情,其中也会用很多的矛盾,得权衡之后平衡统一。

0 0