zoukankan      html  css  js  c++  java
  • 架构之路(一)

    1995年起,著名的软件工程学家Grady Booch,Lvar Jacobson,Jin Rumbaugh携手合作,提出了统一模型语言UML(The Unified Modeling Language)

    1997年,UML被美国工业标准化组织OMG接受。

    为什么要学习UML?你一定听说过架构师这个词语,而且它经常跟Java、.NET这样的面向对象的平台结合在一起,就构成了Java架构师,.NET架构师,UML就是能让你更好的,更完备的面向对象编程,让面向对象的分析与设计的过程变得更加的有效和科学,构建更具有鲁棒性的大型系统的一种语言,又或者称之为方法和工具。

    而如今,编程语言界,复古之风盛行,函数式编程也被越来越多的人所接受,我作为初学者,暂时还不清楚,UML能不能运用到函数式编程的过程中,又或者是针对函数式编程,业界早就已经有其他类似与UML的其他完善的解决方案。

    说一下我为什么突发奇想好好学学这个UML语言,在面对我比较感兴趣的事物面前,我一直喜欢刨根问底,喜欢看源码,打开IDEA,再打开spring官网,照着官方案例敲代码的过程中,每次看到不认识的类名,接口名,注解,我就忍不住去按Ctrl键查看它的源码,结果当然是铩羽而归,因为里面有更多你从来没见过的类名,接口名,注解名,简直眼花缭乱,看源码,已经成为初学者的比较高门槛的一件事情了。

    spring系列的源码里面,每个类或者接口的名字其实都是有含义的,而且都是英语语法里面的名词,而不可能是动词,同时使用的大量设计模式,比如类/接口名字的后半部分为Factory的,如最常见的spring-bean包里面的BeanFactory就运用了创建型模式的工厂模式或者抽象工厂模式,又比如类/接口名字的后边部分为Adapter的,就运用了结构型模式里的适配器模式,带Converter的就是和类型转换有关的,带Exception的就是和异常有关的,带Utils的就是工具类......这些多的数不胜数,但是最关键的是,就算你从一个类/接口的名字的字面意思上大致看出了这个类大体是做什么的,有什么作用,你还是不会明白,像Spring这样的拥有十几年的大型开源成熟框架,各个类之间的关系和架构模式,说白了,从零开始开发一个Spring系列级别的框架,又或者是从零开始开发一个Mysql数据库,难度不亚于任何一个国内的大型互联网企业的任何系统或产品,因为他对开发者的要求比开发一个产品的开发者高,开发一个产品,团队可能只有几个架构师,如果你是一个几年经验的Java开发(尚无法担任架构工作),可能做的就只能是写一下业务逻辑或者做一点基础架构,而开源框架就不同,它里面几乎没有面向用户的明确的业务逻辑,它有的只是面向程序员和开发者的高度抽象的业务逻辑,所以如果向往架构方面发展,你就必须啃源码,如果不认同这个观点,全世界的程序员可以有很多,但是Github上的spring项目的Contributors也就只有几百人,可见架构的工作,是有门槛的。

    说了这么多,无非就是想说,通往架构师之路的一条高效道路是研究源码,研究源码能力越强,你就越容易,越早,也会越轻松的成为年薪百万的架构师

  • 相关阅读:
    《DSP using MATLAB》Problem 6.17
    一些老物件
    《DSP using MATLAB》Problem 6.16
    《DSP using MATLAB》Problem 6.15
    《DSP using MATLAB》Problem 6.14
    《DSP using MATLAB》Problem 6.13
    《DSP using MATLAB》Problem 6.12
    《DSP using MATLAB》Problem 6.11
    P1414 又是毕业季II
    Trie树
  • 原文地址:https://www.cnblogs.com/umrx/p/8603115.html
Copyright © 2011-2022 走看看