当前位置:  开发笔记 > 编程语言 > 正文

我应该把我的第一种方法放在哪里

如何解决《我应该把我的第一种方法放在哪里》经验,为你挑选了2个好方法。

我需要添加一个方法来计算工人工资和他的高薪的加权总和.我想要这样的东西:

class CompanyFinanse
{
      public decimal WeightedSumOfWorkerSalaryAndSuperior(Worker WorkerA, Worker Superior)
      {
           return WorkerA.Salary + Superior.Salary * 2;
      }
}

这是一个很好的设计还是我应该把这个方法放在其他地方?我只是盯着设计项目并思考一种良好的,面向对象的方法来组织类中的方法.所以我想从头开始考虑OOP.需要最佳实践!



1> Shawn..:

我要么把它放在工人类中,要么在财务库中有静态功能.我不认为财务对象真的有意义,我认为它将更多地是一组业务规则而不是任何东西,所以它将是静态的.

public class Worker {
     public Worker Superior {get;set;}
     public readonly decimal WeightedSalary {
         get {
              return (Superior.Salary * 2) + (this.Salary)
         }
     }
     public decimal Salary {get;set;}
}

要么

public static class Finance {
     public static decimal WeightedSumOfWorkerSalaryAndSuperior(Worker WorkerA, Worker Superior) {
         return WorkerA.Salary + Superior.Salary * 2; }
}



2> brien..:

为了使您的设计成为面向对象,您应该首先考虑整个应用程序的目的.如果您的应用程序中只有一种方法(加权和),则没有太多的设计可以继续.

如果这是一个财务应用程序,也许您可​​以拥有一个Salary类,其中包含worker的工资和一些实用程序功能.

对于您指出的方法,如果Worker类具有对Superior的引用,则可以将此方法作为Worker类的一部分.

如果没有关于应用目的的更多信息,很难给出良好的指导.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有