绩效受可变范围影响的具体程度如何?
- 内容介绍
- 文章标签
- 相关推荐
本文共计354个文字,预计阅读时间需要2分钟。
假设我们有一个类结构,包含三个类:Place、Contact和PhoneNumber。在Place类中,我们希望有一个Contact对象,而不是直接包含PhoneNumber。以下是简化后的代码:
pythonclass Contact: def __init__(self, phone_number): self.phone_number=phone_number
class Place: def __init__(self, contact): self.contact=contact
class PhoneNumber: def __init__(self, number): self.number=number
示例使用contact=Contact(PhoneNumber('123-456-7890'))place=Place(contact)
在这个结构中,Place类通过一个Contact对象间接与PhoneNumber关联。这样,Place类中不直接包含PhoneNumber,而是通过Contact类来访问。
Place,Contact,PhoneNumber课程.
在Place类下,我想要一个Contact类,但最好将PhoneNumber类保留在Contact类下.因此,在Place类中,通过首先获取Contact对象,然后是Contact对象下的PhoneNumber来到达PhoneNumber更合乎逻辑.
如果我经常需要从place对象获取PhoneNumber对象,将PhoneNumber类保留在Contact类(Place.Contact.PhoneNumber)下而不是直接在Place(Place.Contact)类下插入该对象会导致任何性能问题吗?
为什么我问这个问题是这些范围问题在JavaScript中有很多性能影响.对于可变范围 – C#中的性能关系,是否值得这么偏执?
谢谢.
在C#中,你不会看到很多关于琐碎的*属性getter和setter这样的性能问题.但是,如果没有分析,就不可能说这对你来说是否有问题.但是在大多数情况下,对象图构造永远不会像在JavaScript中那样在C#中创建性能问题.
*仅返回对现有对象的引用且没有其他逻辑的属性.
本文共计354个文字,预计阅读时间需要2分钟。
假设我们有一个类结构,包含三个类:Place、Contact和PhoneNumber。在Place类中,我们希望有一个Contact对象,而不是直接包含PhoneNumber。以下是简化后的代码:
pythonclass Contact: def __init__(self, phone_number): self.phone_number=phone_number
class Place: def __init__(self, contact): self.contact=contact
class PhoneNumber: def __init__(self, number): self.number=number
示例使用contact=Contact(PhoneNumber('123-456-7890'))place=Place(contact)
在这个结构中,Place类通过一个Contact对象间接与PhoneNumber关联。这样,Place类中不直接包含PhoneNumber,而是通过Contact类来访问。
Place,Contact,PhoneNumber课程.
在Place类下,我想要一个Contact类,但最好将PhoneNumber类保留在Contact类下.因此,在Place类中,通过首先获取Contact对象,然后是Contact对象下的PhoneNumber来到达PhoneNumber更合乎逻辑.
如果我经常需要从place对象获取PhoneNumber对象,将PhoneNumber类保留在Contact类(Place.Contact.PhoneNumber)下而不是直接在Place(Place.Contact)类下插入该对象会导致任何性能问题吗?
为什么我问这个问题是这些范围问题在JavaScript中有很多性能影响.对于可变范围 – C#中的性能关系,是否值得这么偏执?
谢谢.
在C#中,你不会看到很多关于琐碎的*属性getter和setter这样的性能问题.但是,如果没有分析,就不可能说这对你来说是否有问题.但是在大多数情况下,对象图构造永远不会像在JavaScript中那样在C#中创建性能问题.
*仅返回对现有对象的引用且没有其他逻辑的属性.

