软件解耦
做事情要想事半功倍,就要高处着眼,触摸到事情的脉络。当今流行着各种眼花缭乱的软件框架,不管是struts,还是spring,hibernate,还是.net,还是各种前端UI框架,其设计的核心思想是:
1、尽可能减少代码耦合,如果发现代码耦合,就要采取解耦技术;
2、各种解耦技术的核心是:
(a)使用外部的配置文件,将各种框架内部的组件进行文本型的配置;
(b)用户通过组件的名字和参数map使用组件,达到脚本性而非代码性的直接使用。
这与设计一个应用服务器的架构完全相同。只不过spring使用xml类型的配置文件,并且使用Ioc技术,而我使用服务数据库化,用数据库来管理服务。我不支持类,它们支持类。
java比C++功能强大的地方就在于其强大易用的反射机制,对C来说,开发一套反射机制的难度还是很大的,需要修改编译器。
各种高层软件设计的核心其实就是如何解耦和增强可扩展性,可扩展性的核心是插件技术,而插件技术也与解耦的方案有关。
配置这个术语的诞生,就是解耦技术带来的,因为要解耦,所以需要进行配置。
耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。