Tag: 代码完整

要避免的类(代码完整)

我对代码完整的书中的段落有些困惑。 在“要避免的类”一节中,其内容如下: “避免以动词命名的类只有行为但没有数据的类通常不是真正的类,考虑将类DatabaseInitialization()或StringBuilder()转换为其他类的例程” 我的代码主要由没有数据的动词类组成​​。 有invoicereaders,pricecalculators,messagebuilders等我这样做集中每个类的任务。 然后我将其他类的依赖添加到其他function。 如果我正确理解段落,我应该使用类似的代码 class Webservice : IInvoiceReader, IArticleReader { public IList<Invoice> GetInvoices(); public IList<Article> GetArticles(); } 而不是 class InvoiceReader : IInvoiceReader { public InvoiceReader(IDataProvider dataProvider); public IList<Invoice> GetInvoices(); } class ArticleReader : IArticleReader { public ArticleReader(IDataProvider dataProvider); public IList<Article> GetArticles(); } 编辑感谢所有的答复。 我的结论是,我目前的代码比OO更多的SRP,但它也遭受“贫血域模型”。 我相信这些见解将会对我有所帮助。