.Net快速开发框架1_起因

2012.8月,

经理问以前用过.NET没?

没。(09年自己是用过,但当时只是为了做东西,拿VC++,BCB,DELPHI,C#,各写了一个测试小软件的给同事和朋友们看来做比较,经过比较后一致选择了DELPHI;当时用PB6.5/9.0,但看的久了会生厌。所以也谈不上会或是了解。题外话,虽然说语言不重要,这是针对学,但对开发产品来说还是区别很大的,要考虑更换平台的代价,工期等等多方面的)

那你这两天学下.NET,下周用C#做开发。

用哪种语言?

学C#,现在做新东西基本上都是C#.NET了。

然后就借同事的《C#入门经典》第三版看了两天,每天看10小时。第二天看完了,发现才看了一半不到,太慢了。第三天是周六休息,自己加快速度又看了一天,终于只剩最后一部分没看了。

周一上班时,叫我做完日常的工作,就做快速开发框架(主要是增删查改的自动处理)和封自己的控件。后来这个东西搞了一年,每天2/3的时间在上面,做这个非常无聊和枯躁,毕竟没有直接写一些应用系统容易,而且一开始不怎么熟悉面向对象。况且这些都不是最难的,难的是同样一个问题面对N种可以实现的方法,而每一种都不理想时,如何的做取舍。

开始几个周很难熬,期间,拼语句,传参,SQLBUILDER自生成,数据库复制,批量提交,模仿ORACLE JDE的控件,等等。只要是能找的到和想的到的方法都试过了,做是做出来了,但最终自己感觉也不理想。有同事嘲笑:“如果以后你去别的地方工作,别人问你会什么东西,你就说精通DataGridView,哈哈。”,听别人这么说心里也挺难过的,如果自己每天花那么多心思做控件,以后哪里有饭吃啊?此时很想放弃,毕竟自己做不到那么好的东西,无奈提意见说用分层的工厂模式挺好的啊。但是挨了顿批后,又接着做。慢慢开始东西也开始处理的比较漂亮,通用时询什么的也很好用,但最核心的东西最终还是没做好,并不理想。

后来进了另一公司,老大是以前开发商业软件的,开发控件和架构的能力比较强旱,去哪里工作都是要别人公司先买他控件和平台的。第一次看到,还有这样打工的,怪不得别人每年收入是几十W的。

记得第一次用别人的东西的时候,代码看上去因不像平常能见的方式,非常非常认真的看了一两个小时,才开始从简单的单表开始做ERP系统的功能。在这里很苦,那主管(没有经理)是每天能做到夜里两三点的,有时候到第二天。在进去第二周的时候,每天连续工作16个小时,除了吃饭20分钟直接连班,搞了半个多月,终于熬不下去了,就对他提意见说这样做自己吃不消。他说,没人规定啊,上班就8小时,你下班了觉得累的话可以休息的嘛。我晕!

上了社会后,做东西别人是没有义务教你的,而且那些源码在网上也找不到的,后来通过各种途径到走的时候,也只得到一大半的代码。别人自己核心的东西也是花了很多精力和时间的,虽然说的很好,但不可能都示人的。研究了他的东西两个月,终于掌握了这种开发平台的开发和控件封装。因为每个人的框架都不得不结合数据库的设计,所以有会有局限。不得已,又网上啊,问别人啊,看了非常多的框架。在网上和现实中,用.NET的做分层(特别是基于李天平的工厂模式)的最多,也有几个别人不一样的思想做的比较好的东西(理想架构不一定实用,但确实能学到不少东西),有的自己写的引擎去在软件投入使用时,会动态分析和生成等等,这样一年里学了不少东西,虽然不一定实用,还是开阔了眼界,毕境别人做的很专业。不过这些都是面象对象的做法,开始个人也开始很喜欢这种面象对象的设计(特别是这种机制对于字段值增改前的检测比较好,容易查BUG),但后来现一些问题,这些新方法有很多优点,但缺点也相对非常明显。

这期间有个公司招人,就想去改做棋牌游戏去的,催了几次后就放弃了,后来因为别的原因还是没有换工作。然后兴起也开始看一些游戏设计的东西,记得有本书里提到过各种引擎的设计方法,最终发现面向对象的不是其中最好的(至少如果再考虑硬件的因素后),只是用时会相对简单方便些。后来自己接了几个私活,每次都是连续两个月没睡什么觉,很累,被人催进度催的精神崩溃,用C#2008做的,才真心觉得POWERBUILD是个好东西,也开始真正感到快速开发框架还是蛮重要的。这样开始反思自己真实的需求,也特别想弄明白PB的数据窗口是怎么做到那么好的,但资料找不到,找到的都没多大实际的用处。

这样,发现又回到了从前,12年经理说的,那种分层的做法不理想,不够灵活。这样几年转了一圈,发现又回到了原点。也发现,还是海哥的东西牛逼,做商业控件的确实考虑的问题多一些,就是最简单的东西,也会考虑N种实现方法,哪种最复杂,哪种最好用最简单。而且最主要的是,他的和当初经理需求的那个东西的需求是一致的(除了数据库切换不理想之外,说实话别的方法也不能真正跨数据库种类)。

主要还是要看开发的产品的应用领域和工期等等许我东西的。虽然.NET和三层个人觉得用起来会松一些,但不适合做产品,至少C/S的不是很合适,如果是商用产品的话(个人觉得PB和DELPHI较好,但资料不多,也没落的很,除非是自己做公司做商业产品,那又不一样)。

然后自己做了几个版本,感觉还是不理想,自己用还可以。但用了框架以后特殊情况需要大副度修改功能的时候,灵活性就会差。因为继承用过来的东西多,有的改不了。当然这种情况很不多。各种东西看了用了N多,还是PB好。

后来放下了,看游戏引擎,QT,GTK了一段时间,后来着重看VCL,最后还是重看MFC,因为.NET所谓的开源,最核心的几个基类都是做在运行库和编译器上的,VCL也一样,理想框架只能和编译器结合。还是得重温MFC。

当然,每个人的人生路和经历也不一样,我只是把计算机当成是一种爱好,也只打算这几年打工时做做程序员,以后肯定回家种地的。所以从MINIX什么的都想一时兴起就看,不会去专门搞个什么东西,每个人的目标不一样,想法也不同。不能要求我也是你一样,这个要相互理解。

写这个本来是想重新从零开始做组件,框架,皮肤之类的给自己用的(放在网上不会丢),结果想起来最开始的事,跑题了。

时间: 2024-10-01 06:54:52

.Net快速开发框架1_起因的相关文章

看大师讲解Android快速开发框架EasyAndroid

前几天做了小应用,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 在这个应用中,用到了我以前集成的一个快速开发框架-EasyAndroid,这个框架我以前在做项目的时候总结,整理出来的,对于快速开发Android应用非常实用. 其实,Android应用的开发并不难,我们拿到一款Android应用后,百分之九十以上无外乎有这么几个功能: 1,IOC Mo

CRL快速开发框架系列教程十(导出对象结构)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(

《HiWind企业快速开发框架实战》(3)使用HiWind创建和管理菜单

<HiWind企业快速开发框架实战>(3)使用HiWind创建和管理菜单 关于HiWind HiWind企业快速开发框架,是基于.NET+EasyUi(支持各种前端扩展,后面将扩展Bootstrap等)+多数据(MsSql.Oracle.MySql等)开发的一款企业管理系统快速开发框架. HiWind企业快速开发框架,中文名称:疾风.意为像风一样快速完成你的产品之意. 使用HiWind简单的增删改查,权限设置,几乎不需要编写代码完成.高度辅助的情况下,并不会影响你的灵活发挥,你仍然可以使用部分

微信快速开发框架V2.3--增加语音识别及网页获取用户信息(八),代码已更新至Github

不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信平台,旨在使用户能够无需自己开发就能简易搭建微信平台. 更新内容 1.增加支持语音识别 2.增加"网页授权获取用户基本信息" 语音识别其实是对Voice信息的一个扩展,您必须启用语音识别功能,启用后会在VoiceMessage中增加一个Recongnition字段,我们可以判断这个字段的内

ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下)

笔者小学文化,语言组织能力差,写的不通的地方请大家将就着看,不喜勿喷. 上篇我讲了如何在上传文件中入侵服务器,這次我们稍微多讲一点. 还是先讲下流程: 1.上传代码页面  我上传的是ashx页面. 2.用ashx页面已文本形式显示web.Config的内容 得到数据库连接, 3.用ashx在网站根目录输出vbs脚本(创建Windows账户脚本) 4.开启数据库的xp_cmdshell. 5.利用数据库执行在网站根目录输出vbs脚本.入侵就完成了 ashx代码文件如下 /// <summary>

android快速开发框架

一.依赖注入DI通过依赖注入减少View.服务.资源简化初始化,事件绑定等重复繁琐工作1. AndroidAnnotations(Code Diet) android快速开发框架项目地址:https://github.com/excilys/androidannotations文档介绍:https://github.com/excilys/androidannotations/wiki官方网站:http://androidannotations.org/特点:(1)依赖注入:包括view,ext

Android 快速开发框架CommonLibsForAndroid(有Demo)

这个项目所包含的功能,全部是从实际项目中提取,开发这个类库的初衷也只是为了方便自己开发Android项目.由于时间所限,目前大量的内容还没整理到这个开源项目中,doc和demo也有所欠缺,我将尽快完善.而其中大量不合理的内容,也将逐步改进. 欢迎大家提各种意见,当然更欢迎fork和pull request. https://github.com/cymcsg/CommonLibsForAndroid CommonLibsForAndroid Using CommonLibs is a fast

Android快速开发框架ZBLibrary源码分享

坐标标准库ZBLibrary,是一个MVP架构的Android快速开发框架,提供一套开发标准(UI,Data,Listener)以及模板和工具类并规范代码. 封装层级少,简单高效兼容性好.Android Studio.Eclipse多平台支持. OKHttp.图片加载.自动缓存以及各种Base.Demo.UI.Util直接用.一句话就能实现全局滑动返回. BaseHttpListActivity,几行代码搞定http请求列表 加载和缓存: BaseView,自定义View竟然如此简单: 万能的E

Android 最火的快速开发框架xUtils

Github下载地址:https://github.com/wyouflf/xUtils xUtils简介 xUtils 包含了很多实用的Android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响. xUtils最低兼容Android 2.2 (API Level 8) 目前xUtils工具主要有四大模块: DbUtils模块 Android中的O