1、抽象思维:将一个实在的事物概念化,将一个模糊的概念数字化。
看到一个苹果,能够将其抽象为质量、大小、颜色、形状、味道等概念的组合,就是概念化,而量化则是在概念化之上,将苹果用多少克、多少立方厘米来定义;至于颜色、形状、味道等概念,则是还没有完善量化标准的概念。如果在没有彻底理解概念的前提下过分拘泥于数字,那么到头来只是活跃了头脑的计算功能而无助于抽象思维的锻炼。
2、每个架构师都是一个出色的程序员。
就如Fred George先生所说,“一个不编程的架构师的职业生涯是短暂的”
3、站在技术的山顶向前眺望
每个架构师必须时刻实习新技术,让程序员适应新技术,达到提高开发效率。
4、透过问题看本质。
这个本质是一个从表层逐步深入的过程。例如用户的一个需求,作为架构师要分解成各个技术需求,通过抽象思维提炼成启动、读取、存储和中断等模块,而另一方面需要考虑网络、操作系统和硬件等方面,以及可靠性、安全性、适用性等要求。
5、架构师要为百科全书。
不是什么都懂,什么都不精这种状态,而是通过精通一门作为敲门砖,去学习大型项目相关知识。
6、架构师要修炼内功。
一个请求在Struts框架中处理分如下几个步骤:
1)客户端初始化一个Servlet容器的请求。
2)请求经过一系列过滤器(Filter),其中ActionContextCleanUp是一个可选过滤器,对于Struts及其他框架有很好的集成作用。
3)接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper是否需要调用某个Action。
4)如果需要调用某个Action,FilterDispatcher将请求交给ActionProxy。
5)ActionProxy根据Configuration Manager询问框架的配置文件struts.xml,找到调用的Action类。
6)ActionProxy创建一个Action Invocation实例。
7)Action Invocation实例根据命名模式来调用方法,即根据配置文件struts.xml找到Action对应的方法。
8)在调用Action方法之前或者之后都会涉及到一些拦截器(Interceptor)的调用。
9)Action Invocation根据配置文件struts.xml找到相应的返回结果,返回结果可能是一个模板类(JSP、FreeMarker等),这个过程中可能涉及到ActionMapper。
7、架构师是一个善于沟通的技术领袖。
架构师的工作往往不是写份很完美的文档并扔给程序员,而是通过与程序员的沟通,实时反馈并调整程序员工作。