NX二次开发 开发总结

简介:

从事NX二次开发已经有三年了,却从未写过总结性的文章,今天就补一篇!

第一部分:方案布局

首先,由于开发的工具包可能编译多个NX版本,所以启动NX项目通常使用批处理文件,设置VS&NX版本。


第二部分:解决方案与项目

A方案:使用一个解决方案,一个项目,然后项目内部代码分类布局

B方案:使用一个解决方案,多个项目

方案

优点

缺点

A

项目属性只需修改一次

功能叠加,查错难,功能多时分类难

B

功能分工明确,易于查找

项目属性,配置麻烦

A方案,简洁干练。

如果项目太多,项目属性的更改是一件很繁琐的事,而且还有考虑各Dll相互调用,比较费时!

但是在维护项目上B方案更优,而且B方案能够按照不同用户需求将功能快速重组,所以建议使用B方案。

另外考虑到项目在不同NX版本上变动,应当将链接器库文件改成$(UGII_BASE_DIR)\ugopen\*.lib

而不是使用自动生成项目自带的库文件。

一个完整的功能包,应当有公共库,第三方库,公共设置项目,数据,界面,测试等及部分组成。

前期合理的细分排版能大大减少后期维护重构升级所花费的时间。


第三部分:代码布局

面向对象 ,数据和UI分离。

面向对象的重要性就不再提了,数据和UI分离是必须的,有以下理由:

  • 一个功能中UI的更改可能是频繁的,
  • 多个UI可能共享一份数据,不分离会造成数据冗余

另外,虽然有些功能很简单,数据UI分离可能浪费时间,但请保持这种良好习惯,很受用!


第四部分:UI& 数据 交互

数据和UI分离之后,  UI 和 数据 交互方式可以分为:

A: UI更新,数据也会及时更新并将新的结果返回到UI,也就是同步操作

B: UI开启时,数据不做处理,待Ok时再讲UI上的结果传入到数据中处理,

A是合理的,它能及时响应用户的操作,并将结果及时反馈给用户,

但是如果用户进行了一顿操作,然后点击了取消按钮,数据却保存了下来,这明显是不对的!

B在数据上虽然没有问题,但对于UI开启时用户的操作无效,甚至还要对界面操作单独编码,脱离了数据!

就会出现用户操作了一顿,最后Ok是却报了一个迟到的错误,也有问题。

目前的方法:

个人认为A是对的,但缺少了一个东西,就是UI是否生效,OK就是生效 !!!

目前的方法是在UI开启之前,对数据做一个备份,

如果以OK结束,则数据没有问题,

如果不是OK,数据重置为备份数据。UI开启时的操作如创建块,删除实体等都会还原,备份的数据仍然有效,这不用担心。

以后如果有其他更合理的方法,会继续补充。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值