与传统意义上的OOP无关的类的继承

joh*_*ohn 4 c# oop inheritance extend windows-console

我想知道我是否正在以OOP的方式接近我的项目.我的项目由c#中的windows控制台应用程序组成.应用程序的要点是获取用户输入,将其转换为SQL查询并查询连接数据库,然后以用户请求的读者友好格式吐出信息.我现在有以下3个班:

类:commandLineInterpreter扩展sqlQueries

此类打印出用户可以使用的命令.它还需要用户输入.

类:sqlQueries扩展dbConnect

此类包含将根据用户输入内容查询数据库的SQL查询.

类:dbConnect 此类初始化数据库连接并打印出一条消息,说明它是否已成功.

正如你所看到的,我有commandlineInterpreter类,它扩展了sql查询类,然后扩展了db connect类.

当我在main()函数中初始化命令行类时,它也会自动对其他扩展类进行intitlize.我这样做是因为没有连接到DB,那么commandLine解释器是无用的,因为它无法提供任何答案.

我的问题是,即使这些类在OOP的继承意义上没有关系,以这种方式进行类继承仍然有意义吗?或者有更好的方法来组织我的代码?

Dar*_*ren 7

我略微不同意这个设计,因为看起来你的对象没有关系层次结构.

命令行解释器不应该知道有关SQL Queries该类的任何信息.这是一种关注点分离,它的唯一工作就是读取用户输入,然后使用收集的输入,您可以将其简单地传递给下一个服务层,即SQL Queries类.