NX二次开发 开发总结

简介:

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

 

第一部分:方案布局

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

NX二次开发 开发总结_第1张图片


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

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

NX二次开发 开发总结_第2张图片

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

NX二次开发 开发总结_第3张图片

 

方案

优点

缺点

A

项目属性只需修改一次

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

B

功能分工明确,易于查找

项目属性,配置麻烦

目前个人更倾向于A方案,简洁干练。

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


第三部分:代码布局

这里强调两点:面向对象 ,数据和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开启时的操作如创建块,删除实体等都会还原,备份的数据仍然有效,这不用担心。

 

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

 

 

你可能感兴趣的:(NX)