- 浏览: 596914 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
jianxin1009:
你说的答案是对的
Re: 一道微软的面试题(年薪40万) -
thrillerzw:
应该相信爱情
忽然相信爱情。。。 -
weng:
jaxchow 写道mikeandmore 写道我觉得国外之所 ...
国外项目的代码质量真是高啊 -
cinhoo:
怎么也应该叫大蛇蛋才对嘛
lazypy 这个小蛇蛋不错 -
rosolio:
这个怎么解决?
Hibernate Annotation的中@ManyToOne和CascadeType问题
我们已经被框架所包围,我们已陷入了学习之苦。
了解算法,设计模式,语言特性,就可以成为一名合格的程序员了吗?理论上是的,但仅仅如此,却不足以找到一份理想的差事,因为众多的招聘信息上都明确注明,应聘者应当熟悉xx框架,yy组件。
由于长期接受中国式教育,所以我们已经习惯了学习,学习几个框架,对于国人来说也不是什么大不了的事情,然而我们也发现,相对于我们的学习能力而言,我们的创造性显得有些不足,我们有了继承他人的能力,我们也缺乏一种颠覆他人的精神。
谦虚的说,我是一名java的初学者,狂妄的说,我并不比所谓高手差多少,他们不过是多了解一些框架,走的路比我过的桥多一些。
作为一名初学者,这大半年以来在倒腾各种框架,时间有些,虽然无法精通任何一项,还是对一些框架有所了解了。spring,hibernate,struts2,log4j, dom4j 都是很棒的。
作为一个不觉得自己比高手差的人,曾经写过篇《被我抛弃的开源框架》,部分人与我有同感,更多的人对我的这种不尊重他们所推崇的框架的态度表示反对,甚至是愤怒。这几个框架是GWT,TAPESTRY5,STRUTS 1.X,GRAILS, ROR。都是表示层的框架。
此时,鄙人想再次不知天高地厚的批评一下目前两种流行的开发习惯。
1. 使用spring的 HibernateDaoSupport 编写 Dao 代码。
spring 封装了事务管理,使用 HibernateDaoSupport被迫使用spring的事务管理,当Dao不能正常工作后,很难寻找到问题所在,常见的有lazyload的问题,OpenSessionInViewFilter 的 ReadOnly 的问题。
虽然好奇心驱使我想去了解,他人是如何解决这些问题的,想去彻底学习 spring的事务管理。 但理智的想一下,这根本就是庸人自扰,不使用spring dao,Dao 的问题可能出现在Hibernate的使用上,使用了spring dao,问题可能出现在spring dao的使用上和Hibernate的使用上,既然已经确定问题出在spring dao的使用上,为何不直接使用Hibernate编写dao,自己管理session, ThreadLocal 的模式在80% 的应用中我想都是可以满足要求的。如此一试,发现好处有三:
a, 所有和session生命周期的问题解决了;
b, 代码变得清晰了,以前为了在TestCase中模仿 OpenSessionInViewFilter 还专门写SetUp和TearDown,现在我的session我作主;
c, 性能提升了,对于大批量的CRUD操作,性能至少提高100%。
spring框架最好用的是它的IOC容器,最大的问题是内容庞杂,太追求面面俱到,细节的学习点多。
当我们使用他人提供的工具时,最大的弊病是太多的细节被隐藏了,如果像log4j这样的细节无关紧要的工具也就无所谓了,Dao , Service 这样的核心代码,太多细节被隐藏,是很危险的,也许解决一个细节问题的时间,超过了编写一个核心算法的时间,时间浪费在了不能对产品对质量有所提高的地方。此外,如果他人的工具有着设计上的缺陷,或者bug,那问题就更大了。
当然,我们不能抱着对框架完全不信任的态度来对待框架,我想小学生守则上的话能很好的概括我的观点:自己能做的事情自己做。
2. aop
首先必须肯定,aop真的是很牛B的创意。但我认为,aop 应该是用于解决特殊问题,而不应该作为架构的基础。所谓特殊问题,比如Hibernate的LazyLoad特性,是通过拦截getters实现的,的确是非aop不可以为之。
aop 在架构中也有很多应用,如,权限管理。
但眼下 aop 颇有滥用之势,如aop文章中经常提到的用于异常处理的aop模式,鄙人就不敢苟同。
a, 不使用 aop 同样可以做到异常的一致性处理。对于全局的异常记录方式,无论是使用Log4j还是自己编写的Logger,都可以在Logger这一类中得到一致性的控制。对于代码的冗余,可以使用callback模式,比如HibernateTemplate.excute(HibernateCallback)。
b, aop 会对性能产生影响。
c, aop 是基于方法拦截的,是基于java语言特性的,不能够放之四海,因此,不宜过于依赖,它应用来实现一些与众不同的功能,而不是解决问题的首先。
d, aop 限定了对象创建的方式,只能是从工厂模式中创建的对象,或者Ioc容器中取出的对象。
个人拙见,欢迎拍砖。
了解算法,设计模式,语言特性,就可以成为一名合格的程序员了吗?理论上是的,但仅仅如此,却不足以找到一份理想的差事,因为众多的招聘信息上都明确注明,应聘者应当熟悉xx框架,yy组件。
由于长期接受中国式教育,所以我们已经习惯了学习,学习几个框架,对于国人来说也不是什么大不了的事情,然而我们也发现,相对于我们的学习能力而言,我们的创造性显得有些不足,我们有了继承他人的能力,我们也缺乏一种颠覆他人的精神。
谦虚的说,我是一名java的初学者,狂妄的说,我并不比所谓高手差多少,他们不过是多了解一些框架,走的路比我过的桥多一些。
作为一名初学者,这大半年以来在倒腾各种框架,时间有些,虽然无法精通任何一项,还是对一些框架有所了解了。spring,hibernate,struts2,log4j, dom4j 都是很棒的。
作为一个不觉得自己比高手差的人,曾经写过篇《被我抛弃的开源框架》,部分人与我有同感,更多的人对我的这种不尊重他们所推崇的框架的态度表示反对,甚至是愤怒。这几个框架是GWT,TAPESTRY5,STRUTS 1.X,GRAILS, ROR。都是表示层的框架。
此时,鄙人想再次不知天高地厚的批评一下目前两种流行的开发习惯。
1. 使用spring的 HibernateDaoSupport 编写 Dao 代码。
spring 封装了事务管理,使用 HibernateDaoSupport被迫使用spring的事务管理,当Dao不能正常工作后,很难寻找到问题所在,常见的有lazyload的问题,OpenSessionInViewFilter 的 ReadOnly 的问题。
虽然好奇心驱使我想去了解,他人是如何解决这些问题的,想去彻底学习 spring的事务管理。 但理智的想一下,这根本就是庸人自扰,不使用spring dao,Dao 的问题可能出现在Hibernate的使用上,使用了spring dao,问题可能出现在spring dao的使用上和Hibernate的使用上,既然已经确定问题出在spring dao的使用上,为何不直接使用Hibernate编写dao,自己管理session, ThreadLocal 的模式在80% 的应用中我想都是可以满足要求的。如此一试,发现好处有三:
a, 所有和session生命周期的问题解决了;
b, 代码变得清晰了,以前为了在TestCase中模仿 OpenSessionInViewFilter 还专门写SetUp和TearDown,现在我的session我作主;
c, 性能提升了,对于大批量的CRUD操作,性能至少提高100%。
spring框架最好用的是它的IOC容器,最大的问题是内容庞杂,太追求面面俱到,细节的学习点多。
当我们使用他人提供的工具时,最大的弊病是太多的细节被隐藏了,如果像log4j这样的细节无关紧要的工具也就无所谓了,Dao , Service 这样的核心代码,太多细节被隐藏,是很危险的,也许解决一个细节问题的时间,超过了编写一个核心算法的时间,时间浪费在了不能对产品对质量有所提高的地方。此外,如果他人的工具有着设计上的缺陷,或者bug,那问题就更大了。
当然,我们不能抱着对框架完全不信任的态度来对待框架,我想小学生守则上的话能很好的概括我的观点:自己能做的事情自己做。
2. aop
首先必须肯定,aop真的是很牛B的创意。但我认为,aop 应该是用于解决特殊问题,而不应该作为架构的基础。所谓特殊问题,比如Hibernate的LazyLoad特性,是通过拦截getters实现的,的确是非aop不可以为之。
aop 在架构中也有很多应用,如,权限管理。
但眼下 aop 颇有滥用之势,如aop文章中经常提到的用于异常处理的aop模式,鄙人就不敢苟同。
a, 不使用 aop 同样可以做到异常的一致性处理。对于全局的异常记录方式,无论是使用Log4j还是自己编写的Logger,都可以在Logger这一类中得到一致性的控制。对于代码的冗余,可以使用callback模式,比如HibernateTemplate.excute(HibernateCallback)。
b, aop 会对性能产生影响。
c, aop 是基于方法拦截的,是基于java语言特性的,不能够放之四海,因此,不宜过于依赖,它应用来实现一些与众不同的功能,而不是解决问题的首先。
d, aop 限定了对象创建的方式,只能是从工厂模式中创建的对象,或者Ioc容器中取出的对象。
个人拙见,欢迎拍砖。
评论
21 楼
抛出异常的爱
2007-09-19
kele8boy 写道
我现在的苦恼是,学了设计模式,无法应用的实际项目中去
重构那本书看了,看了以后能马上改善项目的代码
可设计模式,只能看懂书中的例子,哦,是那么回事。可实际无从下手,用不上去。
实际项目中,实体几乎都是属性加get,set。
用了框架后,action调用下一层,action中几乎也没什么东西了,只起到一个值传递
需要调用什么,一般在service里写。。
设计模式的东西似乎用不上去,现在就郁闷在这里。
最好的设计模式是不用设计模式。。。。重构那本书看了,看了以后能马上改善项目的代码
可设计模式,只能看懂书中的例子,哦,是那么回事。可实际无从下手,用不上去。
实际项目中,实体几乎都是属性加get,set。
用了框架后,action调用下一层,action中几乎也没什么东西了,只起到一个值传递
需要调用什么,一般在service里写。。
设计模式的东西似乎用不上去,现在就郁闷在这里。
20 楼
itkui
2007-09-09
说的很对,哥们现在就被框架所困了。
19 楼
renxianyu168
2007-08-17
aop 会对性能产生什么影响?
18 楼
hyhongyong
2007-07-31
框架是工具,没有好与不好,只有适合不适合。
对任何事物的认识都有一个过程,水平到一定程度。就会达到“见山还是山,见水还是水”的境界。
对任何事物的认识都有一个过程,水平到一定程度。就会达到“见山还是山,见水还是水”的境界。
17 楼
zhouxuanyi
2007-06-20
楼主从一个极端到另一个极端了,用javaeye上一个人,是谁,我记不住了,说的”不是框架不好,是你没有学好框架“。不过我承认好的框架是让人不会用错的框架
16 楼
icefire
2007-06-09
放新手帖也不错,给告诉新手,不要沉迷于框架。
呵呵!!
呵呵!!
15 楼
stamen
2007-06-09
楼主所说的使用HibernateDaoSupport编写DAO,其实也是可以直接在Spring中使用原生Hibernate API写DAO的,不会有任何问题,你可以参考Spring的帮助文档。
对于第二点,我非常赞同,AOP这种东西我觉得更象是系统级的东西,适合AOP的场合是很少的,如事务管理、安全管理是目前被证明比较适用的场合,由于这些使用场合比较固定,因此一般都是直接使用他人的即有实现产品,如Spring或Acegi,我们绝少需要在程序中直接使用AOP进行编程。所以了解AOP的技术便不是要去如何在程序中使用他,还是更好的理解即有产品的内部实现而已。
对于第二点,我非常赞同,AOP这种东西我觉得更象是系统级的东西,适合AOP的场合是很少的,如事务管理、安全管理是目前被证明比较适用的场合,由于这些使用场合比较固定,因此一般都是直接使用他人的即有实现产品,如Spring或Acegi,我们绝少需要在程序中直接使用AOP进行编程。所以了解AOP的技术便不是要去如何在程序中使用他,还是更好的理解即有产品的内部实现而已。
14 楼
Chamjoneu
2007-06-07
感觉上奋青的味道很重 所谓框架的东西 可以理解为编程上的一种准则一种标准 使用框架 一个减少开发工作量 再者减少后来跟进的维护人员的学习成本 很难想象一个自己造轮子的项目有什么生命力 再说可控性 每个框架后面都有顶尖的社区在维护者 出了问题也好解决啊 所以我们要做的是不断寻找开发学习更好 更合适的框架
13 楼
Garriot
2007-05-23
楼主的这些文章和相关评论让我想起胡适先生的一篇文章《多研究些问题,少谈些主义》。
当然,这个题目不是用于评价楼主以及楼主观点的。
我只是感觉无论谈什么,大家其实都是在解决问题或总结问题。主义只不过是用于解决问题的规范和准则。
无论答案是什么,我们都是再找一个最优化的解决方案,但寻找解决方案这个问题本身却是一个难解问题
当然,这个题目不是用于评价楼主以及楼主观点的。
我只是感觉无论谈什么,大家其实都是在解决问题或总结问题。主义只不过是用于解决问题的规范和准则。
无论答案是什么,我们都是再找一个最优化的解决方案,但寻找解决方案这个问题本身却是一个难解问题
12 楼
jianfeng008cn
2007-05-13
我感觉现在的问题, 是有些人工作了几年就自以为是高手了,还有些新人感觉自己更进的一层,就以为别人问题太多,愤青一般,却不问问自己是不是真的牛起来了。这些现象是不是都可以说是浮躁呢,还是踏踏实实做点事吧
11 楼
xly_971223
2007-05-13
成精华了?
10 楼
radar
2007-05-12
个人崇拜注意在javaeye又会掀起一段高潮吗?
robbin再来一段《再掂javaeye偶像》吧!现在马甲太多了,快找不到偶像真身了。
robbin再来一段《再掂javaeye偶像》吧!现在马甲太多了,快找不到偶像真身了。
9 楼
jasongreen
2007-05-12
还是ajoo和一刀识货,感谢。
8 楼
温柔一刀
2007-05-12
不至于被搞成新手帖,给个良好
7 楼
风雪涟漪
2007-05-12
写得不错,现在也开始看看源码了,Java基础很重要,Class.forName 这个说得很好,有空学学那些框架,不如把一门框架得源码掌握了,其他得都没什么。其实相似得框架没有必要学,如Struts和webwork。学一种就行了。
一家之言。
一家之言。
6 楼
ajoo
2007-05-12
谁给挪一下吧,这帖子怎么会在新手区呢?晕。
5 楼
javafound
2007-05-12
有同感,由与工作原因,我接触到的java初学者很多,流行的这些东东,对初学者产生了很不好的影响!他们经常问些这样的问题:
"hibernate里怎么连mysql....
"Struts怎么弹出一个对话框...
"struts里怎么del一个己上传的文件...
使得java世界,对许多初学都来说是一片混乱,除了SSH,好似不知有其它可学的;言必称SSH,但知道Class.forName("...")只能用来装载DB Driver。
我理解这也正常,以前,新婚入洞房时,都要先吼声“毛XX万岁”,才可行事;现在,凡事先举“八荣八耻”大旗;java程序员群中,不说SSH,你都不好意思开口---这种文化传统,是很难逃的开的。
这并不是说我们习惯了学习,这一点也不象“乱世”,开放的java提供给了程序员更多的选择的自由和乐趣,但对与没有选择能力或都说不习惯选择的人来说,还是习惯盲从。
"hibernate里怎么连mysql....
"Struts怎么弹出一个对话框...
"struts里怎么del一个己上传的文件...
使得java世界,对许多初学都来说是一片混乱,除了SSH,好似不知有其它可学的;言必称SSH,但知道Class.forName("...")只能用来装载DB Driver。
我理解这也正常,以前,新婚入洞房时,都要先吼声“毛XX万岁”,才可行事;现在,凡事先举“八荣八耻”大旗;java程序员群中,不说SSH,你都不好意思开口---这种文化传统,是很难逃的开的。
这并不是说我们习惯了学习,这一点也不象“乱世”,开放的java提供给了程序员更多的选择的自由和乐趣,但对与没有选择能力或都说不习惯选择的人来说,还是习惯盲从。
4 楼
xly_971223
2007-05-12
当水平越来越高的时候 框架用起来越来越得心应手
相反让一个新手用spring hibernate反而会让他们不知所错 摸不着头脑 出了错也很难找到源头
当你的程序重复代码越来越多 维护越来越难的时候 你自然就会用框架或者自己开发框架了
没有必要把每一个框架都研究透彻。 先大概了解一下各种框架,当项目中需要的时候再去深入
相反让一个新手用spring hibernate反而会让他们不知所错 摸不着头脑 出了错也很难找到源头
当你的程序重复代码越来越多 维护越来越难的时候 你自然就会用框架或者自己开发框架了
没有必要把每一个框架都研究透彻。 先大概了解一下各种框架,当项目中需要的时候再去深入
3 楼
shaucle
2007-05-12
1 Dao.
如果是jpa,那岂不更"不能控制"?
个人认为dao只是一个中间产物,框架的不够成熟而产生的.
dao本来就不怎么样,再在外面包装,当然就更容易出问题了.
2 aop.
不成熟不敢用,自已实现一般更不可取.
理由同上.
这个基本和楼主同.
总的来说,如果你不了解基本的内部机制,可能刚开始还认为能上手,但马上你就会crack up.
不然,jboss,interface21这些公司怎么赚钱?
如果是jpa,那岂不更"不能控制"?
个人认为dao只是一个中间产物,框架的不够成熟而产生的.
dao本来就不怎么样,再在外面包装,当然就更容易出问题了.
2 aop.
不成熟不敢用,自已实现一般更不可取.
理由同上.
这个基本和楼主同.
总的来说,如果你不了解基本的内部机制,可能刚开始还认为能上手,但马上你就会crack up.
不然,jboss,interface21这些公司怎么赚钱?
2 楼
jameswei
2007-05-12
"框架为我所用,勿为框架所困" 写得不错.
大部分都是为了框架而去使用框架,大有甚者是为了流行而用,称滥用。
大部分都是为了框架而去使用框架,大有甚者是为了流行而用,称滥用。
发表评论
-
与梁飞聊
2008-07-31 14:39 1363桂健雄 说: 做框架,做产品,做项目,还是做门户,是个头疼的问 ... -
javascript,css filter的使用
2008-05-19 23:02 0css。filter。。。。 -
Hook XML/Annotation:一种全新的配置方式
2008-04-07 11:01 1929姑且称这种配置方式叫做Hook。 通常,我们会使用xml,p ... -
程序员的三重境界
2008-03-24 16:58 1896见图。。。。。 -
管理机构
2008-02-16 02:23 2380商场如战场 道,天,地,将,法 1. 决策机构(道,天,地) ... -
goodbye,2007
2008-02-01 11:51 2565at 2007: 1. working harder,and ... -
为什么不自己做个数据库系统
2008-01-20 21:59 2783我所说的自己写DB,并不是要写一个像mysql一样功能强大齐全 ... -
web widget分类,你用的是哪种?
2008-01-18 11:50 43331. js对象式widget 优点:js端可以深度控制widg ... -
初涉webservice~~~
2007-11-04 00:16 1414之前搞过一次webservice,在weblogic下搞得,头 ... -
PHP vs JAVA vs Ruby,无奈的选择
2007-10-20 14:39 6980我一向是不屑于php和ro ... -
我选择组件一览
2007-10-19 11:18 1438freemarker 模板语言,用于生成页面代码 guice ... -
自己构思的MVC框架
2007-10-16 11:15 1550我除了是一个很懒惰的人,更是一个很吝啬的人,更加是一个不愿被约 ... -
spring=画蛇添足
2007-06-05 15:24 28158决定把在javaeye上最后一 ... -
开发步骤小结
2007-04-28 13:18 13291. 建立svn项目,以前是先建项目再导入,发现这样并不好 2 ... -
项目失败的思考
2007-04-07 14:49 14261.鲁莽的追求新的开发框架 2.没有让组员提前学习必要的知识 ... -
可复用权限系统的思考
2007-04-06 18:22 86User{ String username; ... -
被我抛弃的开源框架
2007-03-20 20:20 266301. GWT ,它是个javascript的 ... -
[转]Spring 配置要点
2007-03-06 13:22 3360原文: http://wiki.javascud.org/di ...
相关推荐
总之,"免费漂亮的WPF界面框架"结合了FirstFloor.ModernUI的优势,为开发者提供了一个强大的工具,用于构建既美观又功能丰富的WPF应用程序。其自定义字体功能、响应式设计以及丰富的组件库,使得开发过程更加高效且...
总的来说,【Winform快速开发框架】是一个强大的开发工具,它通过预设的三层架构、基类封装、自定义实体和轻量级控件,为Winform应用开发提供了高效的解决方案。开发者可以借此快速搭建应用,减少重复工作,将更多...
此开发框架为免费开源的开发框架,会不断更新版本,旨在征集开源爱好者的建议,为广大 开发者提供一个有利于学习、快速开发高性能软件的框架,此框架对所有源码开放。 十分具有 学习价值,值得推荐一下,感兴趣的...
本文将深入探讨名为“MNVVisionCk”的Halcon视觉通用框架,该框架的出现极大地简化了Halcon的使用,并提供了丰富的预封装算子和停靠功能,旨在提升开发效率和用户体验。 首先,我们要理解Halcon框架的概念。框架在...
该框架标题为交通建设项目管理信息化系统。 二、功能介绍 1.代码按照三层结构+MVC模式设计。 2.界面展现层采用WPF开发。 3.系统界面采用统一样式定义。 4.界面设计业务代码全面分离。 5.系统设置模块管理。 6...
之前写NB、SIM、LORA模块程序的时候经常为AT指令头疼不已,用过百度来的AT框架,用过华为的AT框架,用过同事写的at框架。 百度出来的的五花八门,华为LiteOS的AT框架必须配合系统一起使用,同事写的看着最舒服,可是...
能在线下载的XPosed框架,支持安卓8以下,ROOT后可一键在线安装。支持雷电模拟器、夜神模拟器、逍遥模拟器、部分云手机以及系统支持的手机。Xposed鸭是一款基于Xposed Installer的修改版软件,他弥补了原版XPosed...
同时,提供的教程PPT文件为使用者提供了学习和实施的指导,帮助他们快速上手和有效利用这个框架进行业务系统的开发。 【标签】"框架"指出了这是个开发工具,用于支撑软件结构和实现模块化;"业务"表明此框架适用于...
C# Winform通用开发框架,支持多语言,多数据库,自动更新,模块化,可用其开发任意CS端系统。此框架没有任何版权限制,支持拿来商用。此框架内部集成了大部分的数据库,可以随意更换数据库,且封装好了所有的实体...
HTML 后台框架是构建网页应用的重要工具,它为开发者提供了结构化和高效的代码编写环境,简化了前端和后端的交互,提升了开发效率。在本文中,我们将深入探讨HTML后台框架的相关知识点。 首先,我们需要明确HTML...
移动端H5 UI框架是开发移动应用网页界面的重要工具,它为开发者提供了预设计的组件、样式和布局,以便快速构建美观且响应式的用户界面。在本文中,我们将深入探讨这个主题,了解H5 UI框架的基本概念,以及如何利用...
本实例以".net"为基础,提供了一种用于创建多租户SaaS应用的解决方案。 标题中的“Saas框架实例(.net)”指的是一种基于.NET技术的SaaS开发框架,这个框架设计的主要目标是帮助开发者快速搭建能够支持多个租户同时...
"PowerBuilder精美框架"是一个专为PowerBuilder开发者设计的用户界面(UI)框架,它具有Windows 7的视觉风格,提供了高度封装的组件和控件,使得开发者能够快速构建出与Winform同样美观的界面。这个框架展示了Power...
2. **Spring上下文**:这是一个配置文件,为Spring框架提供上下文信息,如企业服务(JNDI、EJB、邮件服务、国际化、验证和调度)。 3. **Spring AOP**:Spring的面向切面编程模块,使AOP集成到框架中,方便事务管理...
注意:请正确下载相应版本。如果当前应用为32位,下载32位框架;如果当前应用为64位,下载64位框架。并且请只在这里下载,保证控件和框架版本相对应,否则会提示不支持的版本!
PB编程框架Kodigo V4.5是一个全新的PowerBuilder应用程序开发框架,专为提升开发效率和服务化编程设计。在深入理解这个框架之前,我们先要了解PowerBuilder(简称PB)的基础知识。 PowerBuilder是一款由Sybase(现...
【标题】"Q框架修复源码带+成品" 涉及的是一个针对特定软件框架进行修复和优化的项目,其中包含了"948框架...在进行此类工作时,开发者需要具备扎实的编程基础,良好的问题解决能力,以及对所用框架和工具的深入了解。
PB12.5自带框架是PowerBuilder(PB)开发环境中的一种基础架构,它为开发者提供了构建应用程序的基础。PowerBuilder是一款由Sybase(现为SAP公司所有)开发的面向对象的快速应用开发(RAD)工具,特别适用于创建数据...
**WPF 通用权限开发框架** 是一个专为Windows Presentation Foundation (WPF) 应用程序设计的权限管理解决方案。WPF是微软.NET Framework的一部分,它提供了丰富的用户界面(UI)设计工具和功能,用于构建桌面应用...
视觉框架VM PRO V0.1.6版本,C#源码框架,机器视觉源码框架,编程语言C#,算法使用的是halcon,参考了cognex visionpro的输入输出,有C#基础和Halcon基础学习这个很好,是框架源码,可根据自己的理解改成自己想要的...