问题描述
比如说写一个软件,软件的很多功能可以通过类库来实现,也可以通过api来实现,那么疑问来了,在不考虑代码复杂或者繁琐的情况下,用api和类库做出了两个功能一样的软件,这两个软件哪个比较好,比如说运行速度,或者什么什么的?求大神解答一下
解决方案
解决方案二:
能用类库用类库。
解决方案三:
引用1楼devmiao的回复:
能用类库用类库。
为啥呢?
解决方案四:
请问你写一个大型程序,是用c#好,还是用c语言直接针对底层数据结构甚至直接针对硬件I/O端口?如果你觉得是后者,那么请10年之后再来吧。因为人家随便学个1个月的人(假设有软件知识,只是学习一种新的编程工具而已)就能开始写很多大型应用程序了,而且一开始就有足够的稳定性和生产效率;而你的方式则花了3、5年时间不过还是在纠结底层一两段代码、整年纠结,而且可能用6、7年还在纠结兼容性和稳定性很低的问题呢。学习.net并且面向应用,其实就是学习.netframework各种框架的设计机制以及使用。只有一些初学者才会以为他是来学习什么c#、vb.net的。你不想学习框架,那么你学习c#干什么呢?
解决方案五:
类库稳定呀,api很多时候不可靠
解决方案六:
不学习.netframework而学习c#,那就是盲目地“捣乱”的,最终只会有“哼的一声”而放弃c#。当然我们反过来说,有些人还没有成长,可能为了追求“个性”而喜欢贬低自己不喜欢、不知道的一些东西。你会看到,我们从来不把.netframework跟windowssdk对立起来说,而是用表现力、生产力、测试结果是否丰富、是否能赶上这个互联网时代的持续发布节奏、“是否会成事不足”来说话。谁也不会在这么基本的两层中再去盲目地追捧或者排斥什么东西,而是看——是否适合自己的开发计划。
解决方案七:
引用2楼u012978258的回复:
Quote: 引用1楼devmiao的回复:
能用类库用类库。为啥呢?
类库就是给你用的。没有你想象的性能问题。并且使用类库的代码才可以跨平台移植。api不存在什么不稳定一说。初学者不要想太多。记住结论就可以。
解决方案八:
有些事情其实如果真的要做,那么问题就是显而易见的。比如说,你如果有1万行代码都是直接针对windowssdk而自己组织上层建筑的,那么你知道如何保证不会造成内存泄露、系统被拖垮么?另外你又如何知道优化对底层的使用呢?你知道windows系统其实几十年来有多少“技术债”(例如坑爹的COM壳崩溃和不兼容问题)需要.netframework来抹平成为面向未来操作系统api么?但是许多人不实际去做。所以多多从“历史”上去考虑,相信java和.net的虚机系统的兴起必定是有原因的,这就好了。
解决方案九:
API一般是提供服务的,运行在宿主服务器上,这个一般情况下都与数据的持久化有关,像登录之类的应该通过API或者说是服务类库就是dll,在本地编译运行,这个不存在通讯消耗,像一些扩展方法之类的应该通过类库