C+中的类设计+;程序 我目前正在C++中做一个小项目。我对C++/编程相当陌生,想问一下我的类应该如何设计
具体来说:我想写一个聊天的小程序。只是两个程序/计算机之间的简单通信。为此,我希望使用一个好的类设计,因为尽管它只是一个小项目(只是为了学习),但我希望它设计良好且可扩展 我的程序应该有大约5个类(C+中的类设计+;程序 我目前正在C++中做一个小项目。我对C++/编程相当陌生,想问一下我的类应该如何设计,c++,class,oop,class-design,code-design,C++,Class,Oop,Class Design,Code Design,具体来说:我想写一个聊天的小程序。只是两个程序/计算机之间的简单通信。为此,我希望使用一个好的类设计,因为尽管它只是一个小项目(只是为了学习),但我希望它设计良好且可扩展 我的程序应该有大约5个类(处理程序等,更新程序和应用程序——仅此程序的主类) 我会给你一些我如何设计程序的一部分的想法的例子。第一部分应该是连接部分(由connection处理)。任务是在两个程序之间建立连接。它还将设置本地文件,保存要打印的信息,并将其连接到“服务器”文件。稍后在程序中,应该可以访问文件\u处理程序类,以便它
处理程序
等,更新程序
和应用程序
——仅此程序的主类)
我会给你一些我如何设计程序的一部分的想法的例子。第一部分应该是连接部分(由connection
处理)。任务是在两个程序之间建立连接。它还将设置本地文件,保存要打印的信息,并将其连接到“服务器”文件。稍后在程序中,应该可以访问文件\u处理程序
类,以便它可以编辑/读取本地文件,并读取/请求写入“服务器”文件。(它到底要怎么做已经弄清楚了,所以只要没有必要,我想保持这个系统不变;))。但现在让我们谈谈我的想法:
想法1
App
创建Connection
的实例以设置连接
连接
然后创建文件处理程序
的实例,该实例将设置文件(在本例中,文件处理程序
将保存带有静态变量的路径),然后销毁该实例,因为连接
不再需要该实例
另一个类(实例由App
持有)随后创建自己的File\u handler
实例,并且可以处理这些文件,因为路径的变量是静态的
想法2
App
创建连接
和文件处理程序
的实例(让我们称它们为con
和fil
)
要设置连接,fil
将每个引用传递到con
,以设置文件的变量路径并创建文件等
为了以后处理文件,App
将传递fil
,以管理其他类的所有文件处理,例如更新聊天等
这将需要许多类具有构造函数或函数,这些类或函数需要具有文件处理程序
参数,并且相同的变量将被多次传递
想法3
我的最后一个想法是,连接
、文件处理程序
和其他类
将被创建为非常通用的类,而与其他类没有任何或接近零的关系
App
然后创建许多函数(甚至“子类”)来处理这些类,就像处理独立开发的框架一样,因此从理论上讲,可以在另一个程序中使用而不会出现任何问题
您认为哪种解决方案最好?或者你有没有其他更好的解决方案
请让我知道,我会感谢你的帮助只是一个小提示。1)C++不是java;有人说它甚至不是OOP语言。对于C++中的程序设计和扩展性好,它根本不需要由类组成。对于许多任务,一堆自由函数会更好。类是好的,但如果使用不当,它们会导致糟糕的设计。2)你说你是C++新手。我建议您学习更多关于C++本身,只有在您感觉良好的语言之后,你才能开始思考诸如程序体系结构之类的东西。一开始这样做可能会导致坏习惯。只需问几个问题,如何最好地回答这个问题。1.你有没有打算在这个时候多线程?2.你说“最好”是什么意思?它是最小的代码库;最可重用的代码库;跨平台;执行速度最快;等等。这是家庭作业吗?如果不是的话,我道歉,但看起来像。如果是家庭作业,我会和你的老师谈谈他/她希望你做什么,如果你遇到具体问题,我会回到这里。@lisyarus说得很好;当您的代码刚刚开始时,不要担心代码是否完美。只要努力学习语言;如果你是对的,那就别担心。我们大多数人可能在某个时候写了意大利面代码。@利斯亚鲁斯快速侧记:只看了一个字“相当”(我是德国人),我不是说很新,我在C++中已经编程了将近2年,但是在这之间有很长的刹车。最大的是6个月。但感谢免费功能的建议,我读到的第一本关于C++的书只使用了类,没有免费的功能,所以我也希望能用课堂来做所有的事情。但是,这确实解决了我的一些问题:(BTW:你认为什么是我的答案的最佳解决方案?还是有兴趣的:D)但是,这里有一个很难的技术事实:在标准C++中,<代码>主< /代码>不能是成员函数。它必须是
intmain()
(或intmain(intargc,char*argv[])
)。没有类,没有名称空间。只是一个旁注。1)C++不是java;有人说它甚至不是OOP语言。对于C++中的程序设计和扩展性好,它根本不需要由类组成。对于许多任务,一堆自由函数会更好。类是好的,但如果使用不当,它们会导致糟糕的设计。2)你说你是C++新手。我建议您学习更多关于C++本身,只有在您感觉良好的语言之后,你才能开始思考诸如程序体系结构之类的东西。一开始这样做可能会导致坏习惯