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也就只有几百人,可见架构的工作,是有门槛的。

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

  • 相关阅读:
    c语言学习指针变量
    SQL字符串函数
    [转]HttpWebRequest使用注意(发生阻塞的解决办法)
    Image.FormFile的锁文件解决
    不联网在win8安装framework3.5
    metro app损坏,修复以及商店速度慢的解决方法
    关于C#使用来电通的来电通内部原理浅析
    winform模拟qq聊天界面的小功能textbox1输入自动跳到textbox2
    C#下的路由器后台登录
    dropbox文件夹路径丢失变回默认文件的解决方法
  • 原文地址:https://www.cnblogs.com/umrx/p/8603115.html
Copyright © 2011-2022 走看看