gpt4 book ai didi

c# - 在 OOP 的传统意义上不相关的类的继承

转载 作者:太空狗 更新时间:2023-10-30 00:14:29 25 4
gpt4 key购买 nike

我想知道我在 OOP 方面是否以正确的方式处理我的项目。我的项目包含一个使用 C# 编写的 Windows 控制台应用程序。该应用程序的要点是获取用户输入,将其转换为 sql 查询并查询连接的数据库,然后以用户请求的阅读器友好格式吐出信息。我现在有以下 3 个类:

类:commandLineInterpreter 扩展 sqlQueries

这个类打印出用户可以使用的命令。它还需要用户输入。

类:sqlQueries 扩展了 dbConnect

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

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

如您所见,我有扩展 sql 查询类的 commandlineInterpreter 类,然后扩展了 db 连接类。

当我在 main() 函数中初始化命令行类时,它也会自动初始化其他扩展类。我这样做是因为如果不连接到数据库,那么命令行解释器就没有用了,因为它无法提供任何答案。

我的问题是,尽管这些类在 OOP 的继承意义上没有关联,但以这种方式进行类继承是否仍然有意义?还是有更好的方式来组织我的代码?

最佳答案

我有点不同意这种设计,因为您的对象似乎没有关系层次结构。

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

关于c# - 在 OOP 的传统意义上不相关的类的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26328416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com