微软的DotNet开发绝对是属于那种入门容易提高难的技术。而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的。特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此 RUP{Rational Unified Process,强调软件开发是一个叠代模型Interative Model),RUP定义了四个阶段(Phase):开端(Inception),阐述(Elaboration),建造(Construction),过渡(Transition)}方法论也认同以架构为核心,体现4+1视图在整个软件开发过程中的重要作用。架构人员既要精通技术,又要熟悉业务,而且基本对软件生命周期各阶段的相关技术都需要有相关的积累和知识储备,而这些不经过多年的磨练是很难达到这个高度的。
     
      要成为一个合格的架构师首先必须是一个合格或优秀的编码人员,对于开发来讲编码始终都是最重要的一项技能,在编码过程中只要自己善于去思考和分析问题,就可以多学到很多相关的知识和技术。所以我们在开发过程中一定要注意新知识和新技术的学习,前人经验和成果的学习。编码过程中应该去思考的一些问题有:
     
      1.在编码过程中自己是否做单元测试,是否使用相关工具做单元测试,如果没有的话是什么原因无法把单元测试做起来?
      2.自己编码的泄露率情况,编码泄露的BUG的原因分析
      3.是否有意识的对代码进行重构,重构过程中是否引入了相关设计模式的思想?
      4.是否对C#语言的一些高级特性进行学习,如反射调用,异步处理等。
      5.是否对Remoting和WebService两种分布式技术做过研究和对比分析?
      6.是否经常研究开源项目和开源代码,如Duwamish,PetShop,NUnit,Enterprise Library,Nant等
      7.是否对对象持久化机制和O/R Mapping等相关技术做过相关的研究
      8.平时在编码过程中是否注重公用组件和公用类的复用和抽取
      9.自己在平时工作和学习中是否经常开发些小工具提高工作效率,巩固学习知识
     
      设计和编码其实是密切而不可分的,对于严格将设计和编码分开的瀑布模型一般也仅仅在大型项目中应用。而及时编码和设计分离,也不是将编码人员不需要思考,编码活动始终是一项创造性的劳动,如果否定这个观点那就代表编码过程完全不需要人员介入而可以完全自动化。因此在这里谈设计主要还是指设计人员的系统化思维能力,设计人员应该比开发人员站高一个层次来分析和思考问题。设计人员最重要的一个技能就是现实- >抽象的转换,而这个就需要谈到方法论的问题了,技术人员需要积累面对对象分析和设计或结构化分析知识的积累,需要有较强的数据库分析和设计能力。一个设计能否成为很好的架构师关键就在这种积累的深度和广度上面了。
     
      因此在设计过程中应该考虑的问题有:
      1.你现在分析和设计能力能否胜任大中型的应用系统还是只是独立功能分析和设计?
      2.设计过程中是否有意识的考虑到组件的复用和相关接口设计准则。是否能够很自然的将分析模式,设计模式的相关内容应用到自己的设计过程中。
      3.是否对XP,RUP,面向对象,结构化等方法论都有过较系统化的学习和思考。
      4.是否真正理解系统功能需求和非功能需求对系统设计的不同的指导作用。
      5.对自己设计的功能是否会根据后期的变更来反思自己的设计为何不能很好的适应变更?
      6.是否在设计过程中经常自己开发些原型来对自己的设计思路进行验证?
      7.是否专注技术的同时开始专业业务流程的分析,关注业务建模?
     
      如果我们在设计和开发过程中经常关注这些知识和技能的话,成为一个合格的架构师是早晚的事情。平时能够胜任工作开发用到的知识和技能是微不足道的,如果自己不是有意识的去学习这些知识的话,那技能是很难得到进一步提高的。我参加过两次微软的架构师培训,在北京的微软架构峰会上也有机会专门参加了P& Workshop的学习,培训老师是微软总部SmartClient Architecture and Design Guide一书的作者Edward A.Jezieski,让我感受最深是老外深刻的技术底蕴,对程序开发的执著。
     
      对于DotNet架构经常用到的知识和技能储备有
      1.RUP方法论,4+1视图。用例驱动业务建模- >分析模型- >设计模型
      2.用例模式- >分析模式- >设计模式
      3.常用的分布式技术
      4.对安全,异常,日志,性能等非功能性需求的关注
      5.对应用系统整体业务的关注

从程序员到asp.net架构师转变相关推荐

  1. 从程序员到asp.net架构师转变(转载)

    微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此 RU ...

  2. 从普通JAVA程序员到阿里P8架构师,他用了六年

    工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台.高并发系统架构设计.技术团队管理.多款从零到一的产品城市! 六年间,这位职人呆过四大门户中的两家, ...

  3. Android程序员现状:没有架构师的命,却得了架构师的病!

    Android开发的现状貌似已经是一个老生常谈的问题了.但今天不想写Android开发的现状,什么Android前景如何.Android凉凉之类被别人写烂了的话题. 今天我们来聊聊我们自己,我们And ...

  4. 从​程序员到大型分布式架构师,自己到底位于哪里(一)

    写这篇文章为了更清楚自己技术能力,同时分享给大伙,看看自己技术水平位于哪里. 个人能力有限,基于我所理解的知识来讲解一下:从程序员到大型分布式架构师,我们自己到底位于哪里. 描述不当之处还请各路大佬点 ...

  5. 为什么很多程序员没有升级到架构师?

    对我们程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理:要么走技术升级路线.不过在技术路线方面,无法升级到架构师的程序员不在少数.一方面,在不少公司的高级开发岗位上,无法让程序 ...

  6. JAVA程序员要如何从初级程序员过渡到系统架构师?

    程序员大致的成长路线: 初级程序员(薪资6k-10k) 刚刚进入IT行业,做一些简单的项目,写一些简单的代码.写代码的时候还是会依靠复制粘贴的方式完成代码的编写,他们不考虑程序的质量,代码也写的很乱, ...

  7. 程序员:未来世界的架构师,越老越吃香的一份职业?

    作为程序员节的 10 月 24 日已过,360 创始人周鸿祎通过个人微博发布相关内容,祝所有程序员节日快乐.视频中,周鸿祎表示,作为程序员,我一直都很骄傲.程序员是未来世界的架构师,是非常了不起的职业 ...

  8. 程序员过关斩将--作为一个架构师,我是不是应该有很多职责?

    点击上方"蓝字"关注我们领取架构书籍 每一个程序员都有一个架构梦. 上面其实本质上是一句富有事实哲理的废话,要不然也不会有这么多人关注你的公众号.这些年随着"企业数字化& ...

  9. 这可能是程序员学习大数据架构师的最佳之路!另附送1024G学习资料!

    随着大数据时代的到来,[这次国家教育部的改革要动真格了],JAVA程序员们仅有的一点点竞争力很快就不复存在,为什么这么说呢? 人生别只顾低头拉车,更要抬头看路! 国家教育部全面改革:大数据领衔 所有高 ...

最新文章

  1. js 字符串操作函数
  2. Day4-springmvc中文乱码处理和客户端跳转
  3. 【工业控制】PolyWorks培训教程-PCB字符机平行度和垂直度
  4. The xxx collides with a package/type
  5. Doc2EDAG: An End-to-End Document-level Framework for Chinese Financial Event Extraction
  6. 普元EOS生成WebService时使用自定义实体映射属性
  7. 4G多卡聚合路由器解决视频直播中的网络不稳定问题
  8. osg-04-基本几何图元-线宽
  9. Chrome浏览器语音自动播放功能
  10. uint在c语言中的作用,C中int,Uint,uint16等有什么区别以及用处
  11. 几分钟来了解下什么是嵌入式开发?
  12. mysql dump hbase_导入mysqldump表结构
  13. 解析Unity3D中计算法线矩阵的函数
  14. 见证云力量|飞马网技术沙龙“云计算专场”圆满结束
  15. 80年代后最佳阵容之巴西篇
  16. Semantic Kernel 入门系列
  17. jays+android耳机,享受HiFi音质 Jays推出新款入耳式耳塞
  18. code128条码生成与显示
  19. Hadoop自动化安装脚本
  20. 青少年蓝桥杯python组(STEMA中级组)

热门文章

  1. 星际争霸等待暴雪服务器响应,服务器三个月未恢复正常,垂死挣扎的星际争霸,预示着傲慢的暴雪即将谢幕...
  2. Scara机器人关节空间轨迹规划-机器人工具箱函数jtraj
  3. 华为云05之网络虚拟化
  4. SAP上云——助力制造业数字化转型
  5. 华为开源的深度学习框架 MindSpore
  6. matlab振动响应,基于MatLab的车辆振动响应幅频特性分析-中原工学院学报.PDF
  7. 原神私服 grasscutter搭建及食用教程
  8. Gunicorn ImportError: cannot import name ‘ALREADY_HANDLED‘ from ‘eventlet.wsgi‘
  9. 快手如何快速涨粉到10000
  10. [SEO工具]新站优化推广工具集