c# - C#中的单位转换设计模式

标签 c# design-patterns dependency-injection loose-coupling unit-conversion

我需要在单位之间进行转换,每个单位有两部分,它的名字和一个整数,整数部分可以是正数也可以是负数。我需要我的 Unit 类具有依赖注入(inject)和松散耦合。例如,如果我将来需要添加一些东西,我不想更改正在使用该类的其他类。

我的单元类中还应该有一个Convert() 方法来在单元之间进行转换。我查看了这些链接:

但这些似乎松耦合。

请让我知道这个问题的推荐设计模式,

最佳答案

我会为方法创建一个自定义属性,指定方法可以相互转换的单位。然后,您的转换器函数可以从要转换的项目中提取单位,并使用反射来查找那些具有与这些单位相互转换的转换方法的类。

您确实需要一个用于转换为/自方法的核心度量单位。例如。选择公制,然后所有转换转换为/从公制转换为/从第二个单位。然后从单位 A 到单位 B,从 A 转换为公制,然后从公制转换为 B,使用反射选择 A 和 B 转换器。

当然,由于您没有根据您的请求提供太多细节,所以很难说出您到底想做什么,所以这是一个疯狂的猜测“设计”。 :)

关于c# - C#中的单位转换设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385573/

相关文章:

c# - 为具有条件相等的 IEqualityComparer<T> 实现 GetHashCode

c# - 为 MongoDb 处理可为空和不可为空类型的自定义序列化程序

asp.net-mvc - Nopcommerce 新表服务注册错误

c# - 使父类(super class)具有一个静态变量,该变量对于 c# 中的每个子类都不同

c# - 通过 C# 和 SMO 检查和删除现有表

c++ - 为什么这个单例实现不能编译?

java - 如何结合状态设计模式和依赖注入(inject)

oop - Rails 相关记录的相关更新

spring - 从 jar 中动态加载 spring bean 以及依赖的 bean

c# - Autofac WcfIntegration - 通过 net.tcp 通信时无法激活 WCF 客户端服务