一 、学习面向对象的基础知识,那你的编程之路注定是在做原始初级的重复!

很多程序员都知道类、方法、抽象类、接口等概念,但是为什么要面向对象,好处在哪里,要解决什么问题

降低软件开发的复杂度

提高软件开发的效率

提高软件质量:可维护性,可扩展性,可重用性等。

二、 学好面向对象,必须学习设计模式

因此有了这些基本原则是不行的,我们必须有一些更细的原则去知道我们的设计,这就有了更基础的面向对象的五大原则,而把这几种原则更详细的应用到实际中来,解决实际的问题,这就是设计模式,因此要学好OO,必须要学习设计模式,学习设计模式,按大师的话说,就是在人类努力解决的许多领域的成功方案都来源于各种模式,教育的一个重要目标就是把知识的模式一代一代传下去

三、 学习设计模式

设计模式要求我们高扩展性,高重用性,但是在需求提出之初,我们都不是神,除了依靠过去的经验来判断外,我们不知道哪些地方要扩展,哪些地方要重用

四、 学习重构

精彩的代码是通过重构精简化,开发过程中需要一直重构,否则无论当初设计多么的好,随着需求的改变,都会变成一堆烂代码,难以维护,难以扩展。所谓重构是这样一个过程:「在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构」,重构的目标,就是设计模式,更本质的讲就是使程序的架构更趋合理,从而提高软件的可维护性,可扩展性,可重用性

Joshua Kerievsky在那篇著名的《模式与XP》〔收录于《极限编程研究》一书)中明白地指出:在设计前期使用模式常常导致过度工程(over-engineering)。这是一个残酷的现实,单凭对完美的追求无法写出实用的代码,而「实用」是软件压倒一切的要素

在《重构-改善既有的代码的设计》一书中提到,通过重构(refactoring),你可以找出改变的平衡点

《重构-改善既有的代码的设计》一书也是Martin Fowler等大师的作品,软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄"

五、 开始通往优秀软件设计师的路上

通过设计模式和重构,经典书籍《重构与模式》,深入揭示了重构与模式这两种软件开发关键技术之间的联系,说明了通过重构实现模式改善既有的设计,往往优于在新的设计早期使用模式。本书不仅展示了一种应用模式和重构的创新方法,而且有助于读者结合实战深入理解重构和模式

六、 只有坚持不懈的专研和努力

七、珍惜时间

时间就是金钱,时间就是生命,时间如同健康一样,如果时间都没有,那成功也就是浮云了

八、善于总结

孔子,老子,孙子,曹雪芹,鲁迅等名人,他们有个共同的特征,就是总结自己的思想,写成了书,并把这种思想传承了下来,而那些身怀绝技但是秘而不传,或者只传近亲的绝技,都在历史的长河中慢慢消失了.

九、注重专注

有句古语是这么说的:能够到达金字塔顶端的动物只有两种,一种是苍鹰,一种是蜗牛。苍鹰之所以能够到达是因为它们拥有傲人的翅膀;而慢吞吞的蜗牛能够爬上去就是认准了自己的方向,并且一直沿着这个方向努力。

对人类而言,能够于众生中脱颖而出者实属少数,这些人也可以看到:一种是资质优越、天生异禀,本就是成就大事的种子,这样的人是少之又少,而且有些这样的人还因不知学习而沦落了;另外一种人就是蜗牛一样的人物了,早早就知道自己是常人,却仍然立下鸿鹄之志,凭借后天的坚忍和努力,同样做出常人难以想象的成就。它是一种素质,更是一种能力

十、动手能力

理论若不和实践联系起来,就会变成无对象的理论,同样,实践若不以理论为指南,就会变成盲目的实践,坐在屋子里成牛人的,而是在不断的动手,在实战中造就了牛人,也充分的说明了学习的终极目的--学以致用

所以我们学习时,一定要动手做,只学习不动手,只算是了解而已,不能深入体会。

架构师需要掌握知识

一、 架构师有优秀的编码能力,解决开发人员无法解决的难题。

二、 架构师对系统的大数据容量高性能高并发高容错的网站有架构设计和开发经验。

三、 架构师对操作系统、数据库、服务器各种软件使用的配置比较了解,比如Linux、Web负载均衡、反向代理、数据库集群、容灾等比较了解。

四、 架构师对软件开发过程有清晰明确的认识,也就是对软件工程有有明确的认识,并能把需求进行分析、建模。

五、 架构师学习能力很强、接触知识面要很宽广、喜欢关注和接触各种新的技术。

六、 架构师沟通能力很强。

七、 架构师对从事的行业的业务要有深刻的了解。

换个角度看看这些要求把:

第一条要求你是个优秀的程序员。

第二、第三条要求你要懂DBA,运维都需要懂的知识。

第四条要求你是个项目经理。

第五条要求你是个技术全才,不仅学的要深,还要学的广。

第六条、第七条要求你熟悉公司业务人员、产品人员要懂的知识。

架构师是整个团队的核心和灵魂,这种技术要求甚至技术总监和CEO都不具备,唯一要求少点的就是管理能力,如果再具备管理能力,那就甚至能超过技术总监和CTO了,而中国不乏管理人才,怪不得有人总结说,中国没有合格的架构师呢,也难怪,大概算一算,这种要求相当于一个人学6个人的知识,并且都能达到专业的水平,这就意味着你的领悟能力和学习能力,要高于常人几倍,所以说,成为架构师确实需要天分。

再具体到.NET架构师,我归纳一下要学的知识:

成为优秀程序员,需要学好的知识:

1、 面向对象编程、UML画图、设计模式、代码重构

2、 常用ORM工具

3、 MVC,WCF,XMl, JQuery ,SQL以及性能优化

4、 FrameWork一些深入的知识

5、 高性能代码,比如静态化,MemCached等手段。

6、 最好也了解一些其他语言,比如Java,PHP等。

成为DBA,需要学好的知识:

1、 常用数据库,MSSQL、MySQL、Oracle,性能调优熟练,备份、负载均衡、集群、容灾熟练

2、 大数据量处理熟练

3、 各种数据库监控软件

成为运维,需要学好的知识:

1、 各种Web负载均衡的硬件,比如F5,软件,比如Nginx等原理和配置

2、 反向代理加速,比如SquID等

3、 操作系统,Linux是必须懂的,各种好的工具都在Linux下。

4、 各种性能监控软件。

成为产品和业务以及项目经理,需要学好的知识:

1、 沟通和理解能力。

2、 该行业和本公司的业务逻辑。

3、 软件工程的知识。

4、 质量控制、进度控制、人员组织等。

采用先深后广的策略是明智的选择,一门学深了,其他知识可能都会融会贯通,那样比较的学起来会很快。否则可能陷入知识的海洋里,没准淹死了。

Web架构,分为服务器架构和程序架构两个方面的架构,一般的Web架构师还是偏向程序架构,因此学好语言,程序架构是基础,学好了这些,做一个合格的架构师没大问题,毕竟DBA,运维的东西在公司都有专业的人在干。

所以深度还是要深入学习编程的知识、软件架构知识,有了这个基础后,Web架构师应该在大数据量、高并发、高负载、以及高容错方向再有所了解和涉及,再返过来促进我们对软件架构的思考,这种深-广-深-广的模式是我们学习的方法,只要坚持不懈努力几年,做真正合格的Web架构师是没大问题的。

摘录:WEB架构师成长之路

WEB架构师成长之路-摘录相关推荐

  1. Web架构师成长之路

    Web架构师成长之路 本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路.如果想成为一个架构师,就必须走正确的路,否则离目标越来越远 ...

  2. 【转帖】WEB架构师成长之路之一-走正确的路

    原文地址:http://www.cnblogs.com/seesea125/archive/2012/03/30/2425281.html 本人也是coding很多年,虽然很失败,但也总算有点失败的心 ...

  3. 如何成为一名架构师,架构师成长之路(转)

    转自http://blog.csdn.net/fei33423/article/details/61934514 如何成为一名架构师,架构师成长之路 原创 2017年03月13日 22:50:34 3 ...

  4. Java架构师成长之路

    目录导航 前言 一.源码分析专题 1.1 设计模式详解 1.2 Mybatis源码分析 1.3 Spring5源码分析 二.分布式架构专题 2.1 漫谈分布式架构 2.2 分布式架构的基础 2.3 分 ...

  5. 架构师成长之路:如何提升技术掌控力?

    架构师成长之路:如何提升技术掌控力? 简介: 在很多人眼里,架构师就犹如古代的将军一般,既能运筹帷幄决胜千里,又能独闯敌营取人首级,是所有士兵们崇拜的偶像...好了,其实我只是想说:能成为一名优秀的架 ...

  6. 开启运维自动化架构师成长之路

    技术的提升仅是量的积累,思想的提升才是质的飞跃! 这句话是我在网上看到认为最有道理的励志语录了,当然互联网IT行业的工作者相对理解的会更加深刻. 以这句话开头引出我将要写的这篇文章.首先,请允许我做一 ...

  7. 架构师成长之路(5)--如何获取知识(学习境界)(方法)

    原文地址为: 架构师成长之路(5)--如何获取知识(学习境界)(方法) 哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学 ...

  8. 路上有你:《架构师成长之路》终结篇 (附新年礼物)

    <架构师成长之路>第 0 期 <架构师成长之路>第 1 期 <架构师成长之路>第 2 期 <架构师成长之路>第 3 期 <架构师成长之路>第 ...

  9. 架构师成长之路(3)--如何成为架构师(方法)

    前言: 哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学家,我想每个人都有自己对这三个问题的认知. 如果我们要成为架构师 ...

最新文章

  1. 虚拟机cenos 重置密码
  2. 教师php一对一修改成绩,【教师助手】班小二发成绩,一键导入成绩表格,自动一对一私密分发...
  3. RUST直接升钢指令_[译]参照TypeScript学习Rust-part-1
  4. 《Spark快速大数据分析》—— 第三章 RDD编程
  5. Android开源项目
  6. dijkstra最短路径算法视频_java实现Dijkstra算法求最短路径
  7. python是如何实现进程池和线程池的_进程、线程、线程池和协程如何理解?
  8. 【数据结构与算法】字符串匹配 BF算法 RK算法
  9. nodejs mysql数据推送_使用Nodejs实现实时推送MySQL数据库最新信息到客户端
  10. Qt编程之mapx组件编程
  11. 解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“问题
  12. SWARM-BZZ的联合曲线(Bonding Curve)
  13. pci-e服务器显卡性能,旗舰显卡不同PCI-E模式下性能对比测试
  14. java语言基础 一张纸的厚度0.08mm,求对折对次之后能达到珠穆朗玛峰的高度(8844)用(循环求while)
  15. storm是java还是python_Storm概念学习系列之什么是实时流计算?
  16. 抢红包大战,你准备好了吗?
  17. JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab等
  18. 使用telnet来在线调试海思开发板
  19. 使用Python+Folium实现地理空间可视化效果
  20. 串联谐振电路的品质因数

热门文章

  1. 敏捷世界里中层经理的角色
  2. 警惕同学录联系信息等泄露!
  3. Attention注意力机制总结
  4. java学习(三)内部类
  5. android用户头像保存,Android的登陆注册(sharedpreferences和SQLite保存以及头像上传显示...
  6. java tar压缩工具类_分享apache的commons-compress的TarUtils压缩工具类对文件数据进行加解密、解析及格式化校验等操作...
  7. html设计网页板块,网页设计
  8. bootstrap 固定最底部_固定在页面顶部或底部的导航栏《 Bootstrap 3 基础 》
  9. 手机鸿蒙系统体验,首位!魅族Lipro智能家居宣布接入鸿蒙系统,魅族手机还会远吗?...
  10. 其他行 展开 收起_长居清迈的家庭,去台湾依旧可以自由行?手把手教你网上申请赴台证...