C# C型安全。什么时候太多了?
我希望从头开始设计和创建一个新的大规模应用程序,并在适当的情况下使用结构的类型安全性。应用程序在类之间确实有大量调用 目前,我希望实现结构来表示Id和不同类型的数字(例如价格和数量),但什么时候会走得太远 谢谢C# C型安全。什么时候太多了?,c#,type-safety,C#,Type Safety,我希望从头开始设计和创建一个新的大规模应用程序,并在适当的情况下使用结构的类型安全性。应用程序在类之间确实有大量调用 目前,我希望实现结构来表示Id和不同类型的数字(例如价格和数量),但什么时候会走得太远 谢谢 更新:感谢您提供了何时使用结构的链接,但这并不能回答您何时应该强制执行类型安全。这取决于您正在编写的系统以及“大规模”有多大。为什么?我认为,将系统ID和其他基于值的类型定义为结构不会浪费时间或走得太远。它将帮助定义类型的限制和界限 有太多的String实例被用于各种邪恶的编程构造:
更新:感谢您提供了何时使用结构的链接,但这并不能回答您何时应该强制执行类型安全。这取决于您正在编写的系统以及“大规模”有多大。为什么?我认为,将系统ID和其他基于值的类型定义为结构不会浪费时间或走得太远。它将帮助定义类型的限制和界限 有太多的
String
实例被用于各种邪恶的编程构造:
- 多值链接,其中和
添加了数据,因为它简单方便id
- 非预期的不变用法(如知道
字符)无效,因此将其用于另一个值-
将您的值类型定义为值类型,包括使用结构,但要明确其用法并由代码强制执行。这取决于您正在编写的系统以及“大规模”的大小。为什么?我认为,将系统ID和其他基于值的类型定义为结构不会浪费时间或走得太远。它将帮助定义类型的限制和界限 有太多的
String
实例被用于各种邪恶的编程构造:
- 多值链接,其中和
添加了数据,因为它简单方便id
- 非预期的不变用法(如知道
字符)无效,因此将其用于另一个值-
将您的值类型定义为值类型,包括使用结构,但要明确它们的用法并由代码强制执行。仅对其使用不可变项。没有别的了。结构通常应谨慎使用。特别要注意的是,结构是必须传递值的,而不仅仅是对valueStructure的引用是过时的,应该改用类。良好的设计实践表明模块(.cs)应该限制在大约400到500行代码。一个类可以拆分成多个模块。当两个或多个类共享相同的数据结构时,应使用用作接口的类。如果在类之间有大量的调用,那么也许您应该考虑重新设计类。类不应该互相调用。一个类应该是主类,第二个类应该是从类,因此调用应该是单向的。在您的情况下,beeing而不是type safty有什么好处?Entity Framework 5中也不支持结构。仅对对象使用immuatbles。没有别的了。结构通常应谨慎使用。特别要注意的是,结构是必须传递值的,而不仅仅是对valueStructure的引用是过时的,应该改用类。良好的设计实践表明模块(.cs)应该限制在大约400到500行代码。一个类可以拆分成多个模块。当两个或多个类共享相同的数据结构时,应使用用作接口的类。如果在类之间有大量的调用,那么也许您应该考虑重新设计类。类不应该互相调用。一个类应该是主类,第二个类应该是从类,所以调用应该在一个方向上。在您的情况下,不使用类型安全有什么好处?实体框架5中也不支持结构。