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

工作n年了,你真正入行软件开发了吗?

你懂什么?我懂.net,mfc,atl,owl(cbuilder库),windowsapi那么如果我现在的项目里不需要你说的所有的这些东西,你

"你懂什么?"
"我懂.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的思想去构建一个好的庞大的灵活的大的系统。


推荐阅读
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 本文介绍如何使用JPA Criteria API创建带有多个可选参数的动态查询方法。当某些参数为空时,这些参数不会影响最终查询结果。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文深入探讨了C++对象模型中的一些细节问题,特别是虚拟继承和析构函数的处理。通过具体代码示例和详细分析,揭示了书中某些观点的不足之处,并提供了更合理的解释。 ... [详细]
author-avatar
0只0为0等0你0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有