应用系统架构师应该具有的素质
1、 了解系统集成方面的知识
- 硬件基础知识
- 网络基础知识
- 行业的最新知识
- 软件工程基础知识
我觉得一个架构师的知识面应该非常宽广,遇到难题,总能够想到最佳的解决方法,也即最合适的设计。所谓“复杂的系统,一流的设计”,一流的设计往往是最合适的设计,比如说分布式应用,可以使用WebService、Remoting、J2EE,架构师会方根据实际的情况做出最合理的选择。
2、 精通面向对象、设计原则、设计模式
OO这是基础,OO的出现就是为了解决软件设计上的复杂性的。OO是很科学的东西,但并不是所有的地方都需要OO。个人认为OO的核心是多态,多态的核心是迟绑定。
遵循设计原则是优雅设计的前提。过分遵循原则则是过度设计。
架构师是直接参与设计的,设计模式解决的正是设计上的问题,所以,熟悉设计模式应该是必然的。有人说,36计就是模式。熟读36计的人并不一定都会使用36计。同样,
3、 熟悉企业应用的特点、难题和解决方案
特点 |
知识 |
|
ORM 及常用的持久化Framework如 Hibernate、iBatis、EJB、ADO.net等等 |
|
并发、缓存 性能和可伸缩性 |
|
MVC设计模式 分层 |
|
数据访问和数据交换模式 |
4、 2年以上的专职编码经验
当然,如果你是天才的话,可能不需要两年。很多人认为架构师不应该参与编码,然而,很难相信,一个不会编码的人能够设计出优秀的系统。不断的了解编码过程中遇到的问题可以促使架构师改进设计。
5、 能够熟练的用代码、文档(birdshome、冬冬指出)和图形的形式表达自己的设计思想和设计理念
UML是必不可少的工具,可以提供比代码更为清晰的鸟瞰视图。UML可以作为与客户沟通的工具,也可以作为与程序员沟通的工具。微软在vs2005里面也提供了自己的一套不兼容标准的建模工具。另外,birdshome 指出,还需要有一定的ppt制作水平;冬冬指出,应该具备一定的文档能力。
相关链接:
MSDN架构师中心
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述