C# OOP-OOD-哪个方法应该在哪个类中?
多年以来,我一直用过程语言(主要是VB6)编写程序。现在我在学C。我读了几本书,完成了一些事情,但有时我会问自己:一个方法应该在这门课上,还是在那门课上,还是在别的什么地方 下面是一个示例:我编写了一个控制台程序,它扫描目录树中的所有文件,并根据一些规则为所有文件设置NTFS安全性。对于每种“文件类型”(即发票、电子邮件、Excel文件),我都有具有正确安全设置的模板文件 我的程序执行以下操作:C# OOP-OOD-哪个方法应该在哪个类中?,c#,oop,C#,Oop,多年以来,我一直用过程语言(主要是VB6)编写程序。现在我在学C。我读了几本书,完成了一些事情,但有时我会问自己:一个方法应该在这门课上,还是在那门课上,还是在别的什么地方 下面是一个示例:我编写了一个控制台程序,它扫描目录树中的所有文件,并根据一些规则为所有文件设置NTFS安全性。对于每种“文件类型”(即发票、电子邮件、Excel文件),我都有具有正确安全设置的模板文件 我的程序执行以下操作: 读取MyApp.exe.config中应该写入日志文件的位置 启动日志文件 用“文件类型”(当前硬编
对于您的示例,答案是将步骤4的方法放在
ApplConfig
类中,并让它将读取的值发送到SecurityWork
类
除了封装之外,还有一种称为的东西,它基本上表示类(和方法)应该只负责一件事。设想一个场景,您希望位置和文件名存储在数据库中,而不是存储在app.config中。通过保持单一责任原则,你所需要改变的就是一个类,一切都应该像以前一样工作 关于确定方法属于哪一类的正确方法,有很多事情要说,但我认为这可能是最容易解释和理解的方法之一,它至少会在80%的时间里给你答案。我想问
- 与其他对象的耦合程度最低的位置
- 这种药物的副作用最少(最好是没有副作用)可以用在哪里
- 是否有任何有用的模式(请参阅)