热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么是架构师?

总看到有人招聘说架构师.到底什么是架构师?我认为的软件开发过程是这样的.调研-需求.需求-数据库.数据库出来了就是代码的事情了.如果不算后期的维护修改什么的
总看到有人招聘说架构师.到底什么是架构师?

我认为的软件开发 过程是这样的.

调研-需求.

需求-数据库.

数据库出来了 就是代码的事情了.

如果不算后期的维护修改什么的 难道设计一个好的数据库以及在VS上搭了一个XXX 就叫架构师么?

32 个解决方案

#1


1、架构师不是分析师
2、架构师不是项目经理
3、架构师也写代码


书上抄来的

#2


最近自己搞个项目
后台Webform
前台Mvc
使用Mysql数据库  EF框架  Ioc框架Autofac  Repository模式

项目结构如下
CodeHelper
IService
Service
Model

Admin
Web

项目搭好 就可以在上面填砖了~
其中使用IOC解耦 而且IOC组件都有一些方法
就是可以设置一个请求周期 只实例化一个对象
也就是说一次请求无论页面调用了多少次底层方法 EF只实例化一个~ 但又不是单例模式
太爽了~

我想 我干的就是架构师的工作吧~


#3


所谓架构师,我想,应该改软件的架构设计和规划吧,包含一些技术要求

#4


架构师就是高级码农

#5


如果用盖房子来比喻,那架构师是不是画图纸的???

#6


引用 2 楼 moonwrite 的回复:
最近自己搞个项目
后台Webform
前台Mvc
使用Mysql数据库  EF框架  Ioc框架Autofac  Repository模式

项目结构如下
CodeHelper
IService
Service
Model

Admin
Web

项目搭好 就可以在上面填砖了~
其中使用IOC解耦 而且IOC组件都有一些方法
就是可以设置一个请求周期 只实例化一个对象
也就是说一次请求无论页面调用了多少次底层方法 EF只实例化一个~ 但又不是单例模式
太爽了~

我想 我干的就是架构师的工作吧~


收入很高吧?

#7


引用 6 楼 befree 的回复:
Quote: 引用 2 楼 moonwrite 的回复:

最近自己搞个项目
后台Webform
前台Mvc
使用Mysql数据库  EF框架  Ioc框架Autofac  Repository模式

项目结构如下
CodeHelper
IService
Service
Model

Admin
Web

项目搭好 就可以在上面填砖了~
其中使用IOC解耦 而且IOC组件都有一些方法
就是可以设置一个请求周期 只实例化一个对象
也就是说一次请求无论页面调用了多少次底层方法 EF只实例化一个~ 但又不是单例模式
太爽了~

我想 我干的就是架构师的工作吧~


收入很高吧?

同问

#8


引用 楼主 diaodiaop 的回复:
如果不算后期的维护修改什么的 难道设计一个好的数据库以及在VS上搭了一个XXX 就叫架构师么?


如果你见过添加删除修改等操作都被封装起来,传递IDUR代表添加删除修改查询,字典类装着各种参数。经过种种反射EF的代码好不容易才执行完成。
看得我世界观都崩塌了,为什么不选择直接传递sql代码?

设计需要天赋的,封装到什么程度才合适。
什么时候用静态类。。。这些基本的东西很多程序员都会犯错。

#9


家狗师就是驯养家狗的老师傅。

#10


引用 7 楼 qingxiu 的回复:
Quote: 引用 6 楼 befree 的回复:

Quote: 引用 2 楼 moonwrite 的回复:

最近自己搞个项目
后台Webform
前台Mvc
使用Mysql数据库  EF框架  Ioc框架Autofac  Repository模式

项目结构如下
CodeHelper
IService
Service
Model

Admin
Web

项目搭好 就可以在上面填砖了~
其中使用IOC解耦 而且IOC组件都有一些方法
就是可以设置一个请求周期 只实例化一个对象
也就是说一次请求无论页面调用了多少次底层方法 EF只实例化一个~ 但又不是单例模式
太爽了~

我想 我干的就是架构师的工作吧~


收入很高吧?

同问


说出来,连自己都绝望了~

#11


引用 楼主 diaodiaop 的回复:
总看到有人招聘说架构师.到底什么是架构师?

我认为的软件开发 过程是这样的.

调研-需求.

需求-数据库.

数据库出来了 就是代码的事情了.

如果不算后期的维护修改什么的 难道设计一个好的数据库以及在VS上搭了一个XXX 就叫架构师么?
这种想当然的“设计师”,其实就跟工地上的民工来自豪地说“二十层楼不就是这样搭起的嘛,我看建筑师也没有什么”。

有人整天满脑子仅仅纠缠“三层”,整天就是在以那点数据库sql语句为编程的全部。结果很明显,他所做的项目往往是跨了好几年也一直在纠缠、争论在所谓的数据库设计那一个层次。一旦有人有高级一些的架构设计,他就完全不理解了、要吵架了,甚至要想办法消极怠工赶人家走了。

我的经验,先把团队中这种人清理一些,一个架构师才能带领一个团队做一点高级、有设计创意、有技术含量的事情。否则,整天纠缠在底层一点数据库知识,这算是技术么?这连十分之一的技术都没有理解啊。

#12


引用 5 楼 zbdzjx 的回复:
如果用盖房子来比喻,那架构师是不是画图纸的???

显然不是!

国内这几年出现了一帮“软件工程”人员,只会书本知识,跟普通的一两年的程序员的经验水平差不多,但是因为他们上学时学的就是如何忽悠“工程”概念,所以他们更多地表现为理论工作者。纸上谈兵的人,这不显然是架构师!仅仅会自顶向下分解概念的人,除了会用“思维导图”之类的时髦工具来演讲,往往缺乏真正的开发过程中的具体的架构技术设计和应激指挥能力。

软件开发跟建筑其实截然不同。你不能盖好了20层楼,然后一夜之间推到了,第二天一早立刻又重构了。但是软件的架构其实经常重构,在架构的局部,经常做改变。程序员除了对自底向上地堆砌,遇到问题只能一个劲地把问题推卸到用户需求不明确、或者主管没有把自己当作傻子一样预先灌输,而不愿意稍微进行一些主动的设计。

所以你看到,纸上谈兵的人只能做需求分析而不能做架构师,层次太低的程序员只能老老实实地学习设计和应变的大道理和实践做法而不能做架构师。架构师就好像是军队中将军,或者是海盗中的第一个抢到财宝的人。

#13


我懒得提那些靠堆砌和抄袭一些底层的东西的程序员,仅仅提一下某些人刻意拔高的所谓“架构师”概念。你会看到。有些人弄个什么“三层”或者“七层”,然后用几年时间都在哪里原地踏步地忽悠别人,就号称自己是架构师了。这就是不正常的情况。

一个架构师,他要解决每隔几天就出现一次的架构设计问题,这才叫做架构师。如果你看到所谓的架构在两三年前就“定出来了”,这不是架构师,这是哲学家。或者只是用几天时间抄袭一个时髦的开源软件部分,没过半个月又发现做不下去又抛弃了,这不是具有明确的在孕育一种东西的架构设计,这是一小伙强盗在漫无目的地想到哪里就偷到哪里。

#14


#15


对业务进行规划;
技术架构对将来可能发生的业务具有拓展性;
对业务可以持续的技术支持;

#16


反正一般写方案的时候都是先写业务架构,再写技术架构对业务的支撑

#17


献上我最近参考的文章
直白的
http://www.cnblogs.com/aarond/archive/2013/05/27/jiagou.html

详细设计
http://www.cnblogs.com/guomingfeng/archive/2013/05/19/mvc-overall-design.html

http://www.cnblogs.com/daxnet/archive/2013/04/24/3040542.html#2690729

http://www.cnblogs.com/daxnet/category/252402.html


#18


明明就是 家狗屎

#19


框架师要想的东西很多

#20


我感觉架构师是那种搭配系统框架,开发底层公用类和接口的,不知道我说的对不对

#21


我的理解是:
定义一个公司的总的技术框架和选型;
规划公司的技术发展路线;
制定或主持制定技术规范;
制定高并发或高负载的软硬件实施方案。

#22


架构师就是搭建好系统的框架,框架与功能无关,框架搭建好之后,开发人员在其上面编码

#23


其实对于一般的系统而言,动软的代码生成器就是最好的架构师

#24


将软件技术转化为生产力的领导者。

C# 语言的制作者,就是C# 架构体系的架构师。
这个概念可大可小。
大到技术方向,小到一套软件系统。
在开发周期中想达到既定目标,并且目标有社会价值,就需要架构师的水平。

他们负责总结问题,分析问题,然后在软件的结构上设计具体制作的纲领,方法,步骤。
并且能够通观全局,消除隐患和问题。

他们需要有丰富的技术阅历,知道各种主流语音主流系统的优缺点,开发难度,消耗人月。
他们需要精准的业务理解。无论是构架一个操作系统,还是构架一个软件,都要清楚的理解要做什么,达到什么目的,要有将现实问题高概括高精度体系结构化的分析分解。

他们需要软件结构的设计能力。一个系统有多少软件组成,一个软件有多少功能组成,一个功能有多少模块组成,如何最大化的代码重用,如何在现有的资源情况下,高效准确的开发,选用什么技术做什么功能,这些都需要他们非常明了。
拥有这些应该就是一名合格的架构师。

#25


引用 18 楼 nevermore_0923 的回复:
明明就是 家狗屎

呵呵
引用 12 楼 sp1234 的回复:
Quote: 引用 5 楼 zbdzjx 的回复:

如果用盖房子来比喻,那架构师是不是画图纸的???

显然不是!

国内这几年出现了一帮“软件工程”人员,只会书本知识,跟普通的一两年的程序员的经验水平差不多,但是因为他们上学时学的就是如何忽悠“工程”概念,所以他们更多地表现为理论工作者。纸上谈兵的人,这不显然是架构师!仅仅会自顶向下分解概念的人,除了会用“思维导图”之类的时髦工具来演讲,往往缺乏真正的开发过程中的具体的架构技术设计和应激指挥能力。

软件开发跟建筑其实截然不同。你不能盖好了20层楼,然后一夜之间推到了,第二天一早立刻又重构了。但是软件的架构其实经常重构,在架构的局部,经常做改变。程序员除了对自底向上地堆砌,遇到问题只能一个劲地把问题推卸到用户需求不明确、或者主管没有把自己当作傻子一样预先灌输,而不愿意稍微进行一些主动的设计。

所以你看到,纸上谈兵的人只能做需求分析而不能做架构师,层次太低的程序员只能老老实实地学习设计和应变的大道理和实践做法而不能做架构师。架构师就好像是军队中将军,或者是海盗中的第一个抢到财宝的人。

一直很模糊这个概念,但是看P个回复还是略有意会

#26


架构是与 软件需求相关的,能够 指导软件开发并且 合理解决需求中的 问题的人都能称之为架构师。
架构师基本都是从 工程实战中摸爬滚打 磨练出来的。

#27


引用 26 楼 sbwwkmyd 的回复:
架构师基本都是从工程实战中摸爬滚打磨练出来的。

这是一个不断 总结 修改的循环过程。

#28


谢谢SP1234, 看你的东西,能激起我的思考。。。。。。

#29


软件架构师要做的不是一个死板的建筑。最简单的例如服装设计师也不是搞建筑方面的理论研究的,那么程序设计师也不是,软件架构师也不是。说所谓只要“框架搭建好之后,开发人员在其上面编码”,其实这貌似响亮但不知风险的简单概念,是有害的。

最基本的概念是,架构是经常变化的。不是一些简单的什么“n层”这种名词儿反复争论就是架构师了。实际上创造性的过程,每天都需要重新构造你的系统,每隔几天就要内部发布一次你的产品,每隔几天架构师就要进行一次技术攻关。而不是去脱离开发人员、埋头到一边去研究什么理论。

#30


嗯,我要说明的是,我比较深恶痛绝国内千篇一律的所谓OA软件。如果这方面的“架构师”,那么我想也就是弄弄数据库表设计,然后把界面分解一下给一帮程序员各自去做几个增删改查的界面,最后成为一个asp.net网站应用程序。这里边的架构师不是我说的架构师。

实际上我不反对小公司都做一个类似 SQL Server 企业管理器(或者说vs的数据库查询分析器)的程序。根据数据库表,自动产生树形菜单,并且当点击数据库表时自动产生增删改查的功能窗口(充其量根据外键定义而自动显示为主从表形式)。那么再结合一个所谓的“权限管理模块”,好像就是“万能的OA”了。那么一个小公司如果没有这样一个糊弄用户的软件,它在开发这样的软件时,找个“架构师”来做,似乎架构师的职责跟这个软件的设计思路重复了。

实际上可以看到在csdn这种地方,以及过去我们招聘时许多在上学时有时间去钻研技术(而不是找个公司赚点实习工资就算了)的学生,其实推销他们自己两三个学生就写出的这类软件。这个程序卖3000块钱一套用户都嫌贵,因为他们觉得这种东西就算再好看、其实也是千篇一律的便宜货,用户提出的问题不可能让你软件公司的人整天忽悠什么“我这个是可以万能地安装插件”的口号来忽悠的。

最近这些人在技术论坛狂发这类推销的帖子,我对这类帖子的这种态度是“得罪”了某些人了。但是正好是因为:我所说的架构师的工作确实不是指这种产品的研发过程中的那些人。

#31


#32


引用 13 楼 sp1234 的回复:
一个架构师,他要解决每隔几天就出现一次的架构设计问题,这才叫做架构师。如果你看到所谓的架构在两三年前就“定出来了”,这不是架构师,这是哲学家。或者只是用几天时间抄袭一个时髦的开源软件部分,没过半个月又发现做不下去又抛弃了,这不是具有明确的在孕育一种东西的架构设计,这是一小伙强盗在漫无目的地想到哪里就偷到哪里。


还是老P风格。。。一语中的。。。


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
author-avatar
万幼南
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有