面向对象与面向过程是否可以混合使用?
目前正在设计一个软件系统,大致分为具体功能实现,用户界面,配置管理,日志记录几个部分。
本来想在底层用面向过程的方法实现,上层用面向对象。可是有一部分功能实现我实在是想不出用面向对象有什么好处。
首先是效率,虽然有些人经常说面向对象的程序不会比面向过程效率低,可我总觉得要差一点,起码类的构造析构在过程里是不需要的,而这一部分对效率的要求很高。
其次是结构,这一部分和底层结合比较紧密,如果使用对象必须有一个控制模块负责中转,而用过程的方法可以用插件的形式实现,结构很清晰。
最后是实现,如果用对象,系统显得很复杂,特别是控制中转的模块,要兼顾底层和对象两方面;而过程的方法只有几个函数接口,直接与底层挂接,简单明了。
也许是我水平太差吧,没有领会面向对象的精髓。不过我想设计是要随实际情况的不同而变化的。我是觉得理由已经很充分了,但还是来求证一下。这种方法有没有什么负面的效应?会造成多大的影响?如果我这么做是对的话也请说说你的看法,最好是举个例子。因为有人说面向对象与面向过程两种方法混用会带来很多麻烦。
烦请各位前辈不吝赐教!