本文就从架构的基本理论,到架构的高级技能,再到架构综合技能,最后又介绍了架构的创新思维。以一个完整的java架构技能体系为大家解读java架构,为大家的软件架构师成长之路奠定良好的基础和技术支撑。
希望大家能够仔细品读,理解其中的真谛,并且能够学以致用!
大家可以先看一下整体的java架构技能体系图:
第1章,架构概述。本章对架构基本概念进行了总结,目的是希望读者朋友对架构有正确的认识。理解成为架构师的不易以及练就的方法。亦希望读者朋友能够找到适合自己的架构师角色,制定架构师成长之路的具体步骤,早日实现目标。
第2章,架构基本理论。本章把架构过程中最为核心的概念与理论进行了总结。首先介绍了架构的品质与流程,根据架构编程思想,使用UML与设计模式进行基本的架构设计;然后选择开发模型进而选择最佳方法;最后根据架构模式、思维、设计与优化原则,对初步完成的成果进行重构优化。本章总结了架构设计基本理论的核心内容,希望读者朋友能以此为根本,必要时进行拓展;特别是对于架构思维,也要在日常生活中进行锻炼。另外,对设计模式这一节,最好能把23种设计模式熟练掌握,达到信手拈来的地步。
第3章,构建开发工具体系。DevOps小节介绍了软件生命周期中各个环节的工具生态圈,虽没必要掌握所有工具的使用方法,但是对各个领域的常用工具必须有所了解。对于重要的常用工具,不仅要学会使用,还需要学会优化。3.4节以Eclipse为例介绍了优化过程,其他工具亦需要融会贯通。
另外,相关Eclipse高级调试技巧(附录F)也是架构师必须掌握的技能。磨刀不误砍柴工,拥有一套顺手的开发工具,不仅可以事半功倍,而且可以提高开发团队的士气。试想如果在开发过程中,由于工具的不足而耽误开发进度的话是何等不值!因此,掌握工具选型以及最新发展动向等是架构师必备的技能之一,以便更好地为开发团队组建一套完整高效的开发工具体系。
第4章,Java机制技能专题。本章介绍了Java中特有的机制以及计算机技术中重要机制的Java实现,只有清楚了这些机制,才可以更加深刻地认识Java核心技术内幕,进而在实际项目中快速找到解决问题的答案。其中虚拟机机制与内存机制是所有机制的核心,必须进行深刻把握,这也是解决某些性能问题的前提。
第5章,Java后台技术栈专题。一位优秀的老中医之所以会根据病号开出各种最佳处方,是因为他们掌握了各种中草药的特性。本章也正是架构师必须掌握的重要后台技能专题“中草药”,只有熟练掌握了这些高级技能,才能在架构设计中融会贯通。另外,在调试复杂程序时,往往需要使用多种调试技巧才可以找出问题,切莫轻易放弃。
第6章,java核心架构体系。本章介绍了Java八大核心架构体系,架构师在设计任何系统时,都必须根据系统本身特点对这些体现结构进行合理的设计,否则就不能算是一个合格的系统。另外,本章以SpringMVC为代表,介绍了部分技术细节的实现,如果能掌握其精髓,其他框架亦会融会贯通。
第7章,javaWeb。本章介绍了JavaWeb开发中常用开源框架的架构选型根据以及架构的模拟与集成,目的是掌握这些框架的设计思想。在框架集成中,细心的读者会发现,还有很多功能是可以扩展的,感兴趣的读者可以参照本书作者在SSI的基础上开发的“颐凡Java应用开发平台”。另外,可以思考一下如何借鉴Spring、SpringMVC (Struts2)与MyBatis(Hibernate)各自的核心思想与必要功能,开发一款全能的框架。
第8章,SpringMVC。本章介绍了SpringMVC最为核心的相关技术,其他如人参类型转换(InitBinder)、输入数据验证、文件上传、拦截器、国际化、静态资源处理、主题与Tiles集成等相关内容,感兴趣的读者朋友可以查阅官网相关资料。另外,一个庞大的综合Java EE系统,还包括相关批处理程序,因此本章也介绍了常用的SpringBatch技术,读者朋友可以根据实际项目的需求来灵活运用。
第9章,Spring Integration。使用Spring框架时推荐使用接口进行编码,并使用依赖注入(DI)来提供一个普通的Java对象(POJO)及其执行任务所需的依赖关系。Spring Integration将这个概念进一步发展,单个组件可能不知道应用程序中的其他组件,使用POJO形式的消息传递,就可以把它们连接在一起。这种应用程序是通过组装细粒度可重用组件来构建的,以形成更高级别的功能。通过精细的设计,这些POJO“管道”可以模块化,并且可以在更高的层次上重用。
第10章,springboot。本章介绍了Spring Boot与 Spring Cloud的基本理念,权当抛砖引玉,更多的内容请参照官网。也许有开发者一看到云服务,就会产生抵触的心理。云服务器的确不是很简单,但也并不是不可碰的技术,只要用心学、勤用功,肯定可以学有所成,关键是要多做调查与实践。
第11章,SOAP WebService。本章对SOAPWebService技术进行了系统的介绍,需要重点掌握SOAP原理以及WSDL各部分组成内容。具体实现案例请参照本章练习题与课后解答。理解好理论之后,可进行实际代码的编写,编写完成之后,再对照理论进行分析总结,这样就会更好地认识与掌握原理与实现的技术细节。
第12章,REST WebService。本章介绍了RESTful WebService设计的相关核心概念以及结合Spring MVC技术开发的相关技术。需要重点掌握RESTful架构风格的7种特性以及设计方法,另外还要跟随课后习题,进一步理解使用方法,彻底掌握RESTful的架构思想。
第13章,框架测试。无论是开源框架还是自己公司开发的商业框架都属于产品,而产品是需要不断升级的。为了实现CL/CD,同时也是为了提高测试效率,保障产品品质,设计自动化发布与测试框架势在必行。但是,自动化工具不是万能的,它们各有优缺点,要扬长避短。另外,要注意自动化不能完全取代人工测试。
性能优化范围非常广且有难度,优化时要有的放矢,找到核心瓶颈,才可以起到立竿见影的效果。
第14章,开源框架,本章介绍了开源框架的选择、使用、开发以及发布中的必备技术。能够开发开源软件以及具有开源、知识共享思维与境界,是一名优秀架构师必备的素养。当自己开发的软件在全球成功发布并被更多人利用时,这种成就感与心中的喜悦是无可比拟的。
第15章,自动化代码生成工具。本章介绍了项目开发过程中的一些常用自动化工具,在系统升级、系统维护与运营过程中也需要一些这样的工具。例如:Struts1升级到SpringMVC、日志监视与分析工具、批处理运行与监视工具、业务数据分析工具等,可根据项目的实际需求进行适当的开发。另外要注意不要过度开发,物极必反,任何事情都依赖于自动化工具的话,会造成工具的泛滥。
希望大家学习完本文之后,能够建立起自己的java架构技能体系,并且能够灵活运用到自己的工作之中,助自己更好的成长,成为优秀的软件架构师!!
适合志在成为优秀软件架构师的程序员,也适用于:
完整的架构师学习体系