看了几本关于软件设计和重构的书籍,对软件开发有了新的理解。这些书包括:敏捷开发原则模式与实践、uml与模式应用、企业应用架构模式、面向对象分析与设计、ood启思录。这一类书籍,没有像unix网络编程、unix系统编程等这一类的书籍谈具体的技术、框架,而是在谈如何设计功能良好,架构良好的软件思想。这就是在谈道,道是比术更高阶的思想,而不是具体的技术细节。
敏捷开发原则上的思想:软件开发在于设计功能良好的对象系统,细节推迟到最后考虑,数据库只是存储数据的细节,不能成为设计的重点。软件结构设计好后,再考虑具体的数据库设计。而在真实的信息化软件开发、java开发中,都是先设计数据库,数据库设计好了,围绕数据库做增删改查的工作,最后随着业务的发展往往会发现,数据库需要进行调整。但是最终也能交付,只不过代码质量差,软件结构脆弱、腐化、耦合度高,再增加新功能时,会很难维护。
国内的公司,大多重视术的掌握程度,各种语言、各种框架、各种中间件、三方库、因为只有掌握了术,才能实现具体的功能,术就是金刚钻,没有这个东西,就实现不了这个功能。例如:绘制三维图形,就得用opengl这一类的技术,传统图像处理就得用opencv这一类的东西。术是基础,道是进阶。可能中国的软件开发行业,不需要这么多道,实现功能,完成需求,就算功德圆满了,还考虑后续的维护成本?哪有那么多时间。但是对于个人来讲,道层面的东西,还是要掌握一些,不然只是术的量的增多,思维深度并没有增加。
软件开发的术与道
软件开发中的道与术
最新推荐文章于 2025-11-24 18:38:05 发布
789





