您的位置:首页 > 其它

(转)毕业生如何学好软件设计与开发技术

2009-09-11 15:33 239 查看
觉得这里的很多问题也是我需要思考的。。。

早两个星期一位网友发了邮件给我,问我如何成为优秀的软件架构设计人才。其实我觉得要成为优秀的软件架构人才是一个漫长的过程,对于这个问题,我不敢妄加揣摩,因为这也是我的人生目标,我也正在为实现这样的理想而奋斗。

我给这位网友做了答复,为了能帮到(希望能够帮到)更多的朋友,我把邮件原文和我的回复粘贴于此,希望大家能够在这里得到自己想要的东西。

问题:

您好
,

我在网上看到您关于
DDD
的文章
,
感觉不错
.
有些问题想向您请教
.

我是一个刚毕业的本科生
,
有比较多的学习经验
(
实践经验比较少
).

想成为一个合格的软件架构师
(
不是忽悠人的那种
),
我想向您了解一下
,

需要哪些路要走
,
哪些书要看
,
哪些问题要思考
,
哪些东西要实践
??

答复:

您好!

如果你的理论知识比较扎实的话,我想,你已经符合最基本的要求了。实践是很重要的,但理论决不能忽视,因为实践是离散的,没有理论基础,你的知识体系就比较紊乱,无法成系统。

实践必不可少。如果你诚心是想在软件开发上做出成绩,那么就不要有急功近利的思想,不要指望通过半个月、一个月的“打造”,就能设计开发出真正优秀的应用系统。目前市面上的
IDE
,包括
Visual Studio

Delphi
等让编程看上去真的很简单,基本上拖拖拽拽一个程序就完成了,但这仅仅是个表象,因为这种模式很大程度上违背了软件工程思想,软件工程与技术远比这些要复杂得多。

说的具体一点,就拿如何学习
C#
来说,我建议分三步走:

1、

基本语法的使用,程序基本结构(顺序、循环、分支)。这个步骤除了熟悉顺序程序设计之外,还需要了解
C#
语言语法上的新特性以及一些基本概念,比如
foreach
循环、值类型、引用类型、委托、特性等。这些内容在传统的开发语言例如
C

VB6
等中是没有的

2、

开始面向对象的学习。比如为什么要面向对象、有什么好处?在
C#
中,封装、继承、多态有哪些具体表现和特点。在这个阶段,你需要非常清楚地理解面向对象的各个方面,比如
internal protected
修饰符与
protected
修饰符有什么区别?为什么会有这样的差别?什么是接口?接口与抽象类有何区别?为什么
C#
只能继承于一个类,却可以实现多个接口?接口的显式实现与隐式实现又是什么?等等。如果这些内容你不能脱口而出,那么你将很难顺利通过第三步

3、


计模式、体系结构模式与系统架构。这一步是个长期积累的过程,模式是经验的总结,而不是从书本上能够学习到的,你可能会说,现在不是有很多详细介绍模式方
面的书么?这没错,但是书中不会教你,在你的应用系统中,哪些模式可以引用,在引用的时候需要注意什么这些问题。这个阶段的知识可以从书本了解,但更重要
的就是实践。模式基于面向对象,因此,如果你第二步不扎实,那么这一步你会遇到很多困难。据我观察,目前绝大部分人都死在这一步,实在是坚持不下去了

关于实践,我建议你可以自己先做一些简单的系统,比如,我就从现在开始设计一个学籍管理系统,或者图书馆管理系统,业务需求可以自己划定。那么其中有很多事情要做,业务分析、建模、仓储的实现、服务的定位、
UI
设计等等。等你做完后,或许你做的东西会有很多问题,比如不利于将来扩展,抑或效率存在问题等,但这都不要紧,此时你要分析总结,这样做到底好不好?好在哪里?不好的话又如何解决?

软件工程很复杂,也很难,最后还有最重要的一点,就看你是不是个有心人了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: