你好,这里是BIMBOX。
这两年我们明显看到,学习二次开发成了很多BIMer突破职场瓶颈的一条道路,BOX也出过不少相关的学习课程。目前Revit二次开发也形成了大大小小的社区文化,从Github、Stack Overflow、Autodesk 开发论坛、再到QQ技术交流群、微信技术交流群等。
大家讨论的问题大部分都是:
有许多小伙伴写了挺久的代码,但还是没有形成对代码结构和设计原则的认知,设计模式这些也知之甚少,往往是想到哪写哪,久而久之,这笔乱账本就越堆越多。
不过这也很正常,特别是只涉及二次开发方向的研发人员,更容易缺乏这方面的学习和训练。去网上搜相关资料,在Revit二次开发这方向就很少有相关内容,所以就只能自己去学习基础知识再融合应用到Revit二次开发项目中。
随着行业的发展,Revit二次开发已经不是BIM软件厂商的专职工作。现在工程各个领域都意识到了两个问题:
➤ 软件的开发需求本身也是一种企业无形资产;
➤ 在数字化进程中,企业增强技术壁垒最有效的方式就是根据自身业务、流程和标准开发自有平台和工具。
所以这两年从施工单位、到设计单位、再到业主方,只要是有一定基础的企业都在组建开发团队,解决企业内部的技术问题。
由于市场人才缺口的存在,我们也可以看到身边不断有工程领域相关人员跃跃欲试,成为计算机和工程行业的跨界达人。并且有越来越多的软件开发知识分享官,在分享自己跨界、转行、学习和工作的心路历程。
这些感悟都是出自一位行业里的老朋友,是初一不是十五,之前和BOX合作出过一门《Revit样板课程》,这门课程获得了大家的一致好评,大家都叫他十五。
2020-11-16
十五作为一名土木学子,大学毕业后,抱着对BIM的热爱,满腔热血的进入了这个行业。一开始,做的更多的是需求的分析和整理、写标准、写文档;后来他想,既然我可以写需求,为什么我不能自己实现需求。
抱着这么一个想法,十五从软件公司辞职,专心在家自学软件开发。
或许兴趣就是学习最好的老师,入门学习阶段并没有给他造成太大的阻碍,第一阶段的学习目标很快就达成了,但是对于计算机基础知识了解的匮乏,明显感觉到学习中期的无力,算是吃了没基础的亏。
勿在浮沙筑高台,跨界学习最多的方式就是碎片化的学习。虽然可以快速见成效,但是许多知识点都处于一知半解的状态。
好在运气算好,十五新的工作碰到了一个情投意合的领导,对他的放权管理让他有了更大的想象空间和发挥空间,他的工作内容从技术研发,转到软件开发,工作成果也从企业数字化整体解决方案的制定,到方案的具体落实。
在这几年的项目开发过程中,让他印象最深刻的就是第一次的项目重构。重构的原因主要是:
➤ 研发团队扩张,从单兵作战模式要转成协同工作模式;
➤ 旧的项目架构无法适应新的产品需求,再写下去也只是在堆积「祖传代码」。
重新推翻自己是一个痛苦的过程,但是好在付出的代价也有了不错的回报。
从项目层面,代码更加「干净」,提高了复用性、扩展性和可维护性,让项目可以继续承受未来需求的加入;
从个人层面,第一次有了对技术的全局性思考,无论是业务架构,还是代码架构,都有了一个更深层次的认识。
重构代码的同时,也在不断重塑十五对技术的敬畏之心。
于是,十五和BOX再度合作,把他这几年的积累经验都融到了一门新的课程里,希望能帮助到和他一样想在二次开发领域进一步发展的伙伴们。
课程介绍
接下来带你了解一下这门新课。
在Revit开发过程中,通常我们会使用WinForms(Windows Forms)或者WPF(Windows Presentation Foundation)技术进行图形界面编程,相对于WinForms,WPF更具有优势和前景。
所以,更推荐使用WPF技术进行Revit开发。而使用WPF编程,必不可少的就是要了解MVVM开发模式。
这门课程提供了一个基于MVVM开发模式的Revit多版本开发框架,课程会教给你下面这些知识:
➤ 如何进行规范化的代码编写,真正了解面向对象的编程思想,让你有一个更加清晰的项目结构;
课程内容
本课程一共有22节课,包括Revit多版本开发,MVVMLight框架、设计原则、架构设计等内容,经过BOX的后期精剪,总时长5个多小时,在这个课程结束后,你将学会以下的内容:
1.多版本开发框架
目前网上的Revit开发多版本兼容方案,大多是教你通过复制多个项目去实现,这种配置方式灵活性差,不利于标准化的项目模板开发。
这门课程教你不用去复制项目,而是通过MSBuild开发SDK Style的项目,从而实现一个项目、多目标框架、多Revit版本的开发项目配置。
SDK Style风格的项目对比以往项目,有以下优势:
➤ 使用Visual Studio即可编辑项目文件
➤ 具备代码智能提示
➤ 程序集管理变成了更直观的依赖项管理
整个配置文件采用的是XML格式,配置后,你可以得到一个简洁清晰的项目配置文件。
2.Addin加载调试
日常开发过程中,我们一般会使用Addin-Manager进行功能测试,如果需要在多个功能间、或者在软件打开过程中添加服务再进行集中软件测试,就需要使用Addin调试,这套课程教你如何在项目中进行多版本的Addin加载调试。
3.设计模式
这门课程教你如何基于MVVM架构对项目进行分层,通过MVVM设计模型使代码UI和业务逻辑进行分离。
4.设计原则
C#是面向对象的语言,作为使用C#程序员,就必须要了解的是,面向对象的基本设计原则,让你从一个全新的视角去进行程序设计。
5.控制反转
课程会引入IOC(Inversion Of Control)的思想,让你明白什么是高内聚、低耦合。教你如何进行模块化设计。
学习成果
而提高代码的可读性除了注释以外,关键的是要有一个规范、科学的代码编写习惯、以及合理的代码架构。
课程学习结束,你将掌握一个专门为Revit开发设计的代码框架。
课程亮点
课程不是照本宣科的理论基础,那些晦涩难懂的名词,都会结合代码和业务、让你更好的理解。
由浅入深,一个案例贯穿全课程掌握所有知识点。
课程难易程度
这个课程适合希望提高自己开发水平的小伙伴,希望学会MVVM的小伙伴。学习建议是:
2020-06-12
BIMBOX小伙伴的评语
十五的这门课程被群里的小伙伴催了很久,十五也是在年初的时候就录制完成了,后来还进行了课程的改进,重新录制了一次。我们提前找来了几位小伙伴学习这套课程,分别从不同的学习视角给出了建议和评语,十五又针对大家给出的建议进行了调整,后面有新的变动也会同步到课程里。
下面是几位小伙伴给的评语:
@ Brick Miao:
课程上线有优惠和团购,感兴趣就扫码拿下吧!
有态度,有深度,这里是BIMBOX,我们下次再见!
本篇文章来源于微信公众号: BIM清流BIMBOX
暂无评论
要发表评论,您必须先 登录