工作n年了,你真正入行软件开发了吗?
2008-07-22 21:39
281 查看
"你懂什么?"
"我懂.net,mfc,atl,owl( c++ builder 库),windows api"
"那么如果我现在的项目里不需要你说的所有的这些东西,你还能做什么?"
"那么,恐怕我做不了什么。"
如果那个人是你的话,那么我觉得你还没真正的入行。
以前我记得有个帖子曾经这么提问过
"以后windows没有windows api了,没有mfc了,将是.net的天下,
vc++ 程序员要失业了".那么如果没有windows api你就失业了,那么只
能说你确实不是真正的c++程序员。
那么真正的软件开发都该包括些什么呢:
实际上在软件的世界里,真正重要的是思想,而不是工具本身。
1:应用程序框架:
除了我们常说的"net,mfc,atl,owl( c++ builder 库),windows api",
实际上还有很多的应用程序框架比如QT,java他们都是跨平台的库。
但是所有的应用程序框架库,他们对应的类名和函数可能千差万别,但是他们的对应
的核心的思想都一样:大不了就是一个复合的可以任意层次组合的树形的UI窗口部件,
窗口部件通过事件的机制通知外部应用程序。
并且他们都会致力于解决一些通用的计算机问题:比如序列化,运行时类型识别,
异常处理,消息路由,通用的一致的间接函数调用Invoke etc.
UI上都会提供菜单,工具栏,对话框等等一系列的基本的元素。
理解了这些。什么框架还不都一样。
2: view显示,data定义,算法
并且实际上在一个分层设计的系统里,UI和应用程序框架把原始鼠标键盘消息传递到
逻辑业务层的工作量实际上在一个大的系统里一般就占1/8左右的工作,并且整个技术
难度也不大。剩余的view,data, 算法才是软件的核心。
3:软件架构设计
并且软件框架设计思想本身也完全和应用程序框架没什么关系,
它最多只能会借助c++的特性(封装,继承,多态)去实现而已。
这里我还想说的其实我们的很多的好设计可以直接借助很多好的库里的好的设计灵活
应用到我们的系统中:比如COM思想,ATL实现COM的实现手法
STL思想和实现手法,MFC,WTL,OWL等思想和手法。
COM真是个好东西,也许你永远也不会真正的用ATL,或MFC去做COM,但是你可以根据 COM的思想去构建一个好的庞大的灵活的大的系统。
"我懂.net,mfc,atl,owl( c++ builder 库),windows api"
"那么如果我现在的项目里不需要你说的所有的这些东西,你还能做什么?"
"那么,恐怕我做不了什么。"
如果那个人是你的话,那么我觉得你还没真正的入行。
以前我记得有个帖子曾经这么提问过
"以后windows没有windows api了,没有mfc了,将是.net的天下,
vc++ 程序员要失业了".那么如果没有windows api你就失业了,那么只
能说你确实不是真正的c++程序员。
那么真正的软件开发都该包括些什么呢:
实际上在软件的世界里,真正重要的是思想,而不是工具本身。
1:应用程序框架:
除了我们常说的"net,mfc,atl,owl( c++ builder 库),windows api",
实际上还有很多的应用程序框架比如QT,java他们都是跨平台的库。
但是所有的应用程序框架库,他们对应的类名和函数可能千差万别,但是他们的对应
的核心的思想都一样:大不了就是一个复合的可以任意层次组合的树形的UI窗口部件,
窗口部件通过事件的机制通知外部应用程序。
并且他们都会致力于解决一些通用的计算机问题:比如序列化,运行时类型识别,
异常处理,消息路由,通用的一致的间接函数调用Invoke etc.
UI上都会提供菜单,工具栏,对话框等等一系列的基本的元素。
理解了这些。什么框架还不都一样。
2: view显示,data定义,算法
并且实际上在一个分层设计的系统里,UI和应用程序框架把原始鼠标键盘消息传递到
逻辑业务层的工作量实际上在一个大的系统里一般就占1/8左右的工作,并且整个技术
难度也不大。剩余的view,data, 算法才是软件的核心。
3:软件架构设计
并且软件框架设计思想本身也完全和应用程序框架没什么关系,
它最多只能会借助c++的特性(封装,继承,多态)去实现而已。
这里我还想说的其实我们的很多的好设计可以直接借助很多好的库里的好的设计灵活
应用到我们的系统中:比如COM思想,ATL实现COM的实现手法
STL思想和实现手法,MFC,WTL,OWL等思想和手法。
COM真是个好东西,也许你永远也不会真正的用ATL,或MFC去做COM,但是你可以根据 COM的思想去构建一个好的庞大的灵活的大的系统。
相关文章推荐
- 工作n年了,你真正入行软件开发了吗?
- 做管理系统的软件开发工作已经N年有余了1
- 工作中,在linux平台怎么开发软件?
- 软件开发工作会在35-40岁走入死胡同吗?
- 工作4-5年的.NET开发人员也需要有人带带才可以保证软件项目的质量
- 2015十大最热门科技工作:软件开发工程师居首
- 2015十大最热门科技工作:软件开发工程师居首
- Java 建模: 子整体软件开发,第二部分--需求收集:工作的恰当过程
- 2012年软件开发工作总结分享
- 返回家乡从事软件开发工作第一年总结
- 软件开发人员想找的工作,随便聊聊,娱乐大家,请补充补充
- 自然系统是分层的,软件项目的设计需要减少层的相干性来推动工作的规划。微软的开发平台还是做得不完善,至少aspx界面需要浪费大量的沟通才能设计好。
- 软件开发的一些感想(五年工作总结版)
- 读“你真正进入软件行业开发了吗”
- 一个开发团队、软件公司,团队工作氛围很重要,没有好氛围难出好产品、好项目
- 软件将吞掉整个世界——人类只要开发软件,让软件指挥机器,所有的其它工作智能机器人会帮你(哈哈哈,看完这篇我又爱上了做软件,而且更坚定了)——你迷茫是因为你没有分析未来的能力,这样就不能在低潮时坚持
- 从事软件开发工作前应该做好哪些准备?
- ubuntu 10.10下搭建android开发环境 安装必要工作用软件
- [转]程序员误区2:做软件开发必须要加班熬夜的工作