Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有本地化字符串的面向对象业务逻辑?_C#_Unit Testing_Oop - Fatal编程技术网

C# 具有本地化字符串的面向对象业务逻辑?

C# 具有本地化字符串的面向对象业务逻辑?,c#,unit-testing,oop,C#,Unit Testing,Oop,在业务逻辑对象中使用singleton来使用本地化字符串可以吗 我找不到任何关于如何用用户的良好语言处理来自业务逻辑的消息的模式。里面有本地化字符串可以吗?将这些属性发送回常量,然后将其转换为本地化字符串是否更好 我想知道最好的做法是什么 (我这样问是因为我想对这个项目进行良好的单元测试,并且每次需要从那些业务对象发送消息时都有一个单例,这似乎是错误的…字符串应该存储在resourcefiles中,因此它支持更多的语言。正如上面Thomasz Nurkiewicz所说,字符串处理和本地化不应该由

在业务逻辑对象中使用singleton来使用本地化字符串可以吗

我找不到任何关于如何用用户的良好语言处理来自业务逻辑的消息的模式。里面有本地化字符串可以吗?将这些属性发送回常量,然后将其转换为本地化字符串是否更好

我想知道最好的做法是什么


(我这样问是因为我想对这个项目进行良好的单元测试,并且每次需要从那些业务对象发送消息时都有一个单例,这似乎是错误的…

字符串应该存储在resourcefiles中,因此它支持更多的语言。正如上面Thomasz Nurkiewicz所说,字符串处理和本地化不应该由业务逻辑完成,而应该由表示层完成

底线: 1) 选择默认语言 2) 将所有字符串移动到资源文件 3) 为您想要的任何语言创建资源文件 4) 将字符串处理移出业务逻辑

问候,,
Morten

字符串应该存储在resourcefiles中,因此它支持更多语言。正如上面Thomasz Nurkiewicz所说,字符串处理和本地化不应该由业务逻辑完成,而应该由表示层完成

底线: 1) 选择默认语言 2) 将所有字符串移动到资源文件 3) 为您想要的任何语言创建资源文件 4) 将字符串处理移出业务逻辑

问候,,
Morten

换一种方式思考:为什么您的业务逻辑需要I18N逻辑?这不是观点的责任吗?您的业务逻辑不应该只返回原始数据,让视图来呈现它吗?我正在工作,系统已经存在很多年了,我只需要知道我重构了什么。我理解你的观点,但它是否应该返回一个标志,表明视图能够在本地化系统中使用户检索好的字符串,这才是实现这一点的“好方法”?换个角度思考:为什么您的业务逻辑需要I18N逻辑?这不是观点的责任吗?您的业务逻辑不应该只返回原始数据,让视图来呈现它吗?我正在工作,系统已经存在很多年了,我只需要知道我重构了什么。我理解你的观点,但它是否应该返回一个标志,表明视图能够在本地化系统中使用户检索好的字符串,这就是“好方法”吗?