C#中的Immutable(不可变性质)
有一种很简单也很受用的编程(不仅仅是C#)宗旨,就是所谓的"Immutability"(不可变性质)。简单来讲,一个immutable的对象一旦被创建好,它的状态将不会改变。反过来,如果一个类的实例是immutable的,那么我们把这个类也称作immutable class。这样说来,似乎immutable的确是一个相当简单的东西,不过从以下几个问题中你可以找到使用immutable对象的便利之处。我们可以想一下,为什么编写一个多线程的应用程序要相对困难一些?那是因为在访问某些资源(对象或者其他OS掌管的资源)的时候线程间的同步问题总是会令人感到头疼。那为什么会有线程访问同步的问题呢?那是因为在多线程,多个对象之间,要保证他们的的多个读和写的操作不会引起冲突是一件很困难的事。那么这些冲突为什么会造成我们不希望的结果呢,其实关键就在于这里的“写”操作,因为只有它会改变对象的状态,给我们带来非预计的结果。设想假如没有这个写操作,或者说,假设对象的状态不被这里的写操作所影响会是怎样呢?那样的话还有同步的必要么?下面我们就来看看所谓的Immutable class的作用。
详细文章请看这里:http://www.netcsharp.cn/showtopic-1303.aspx --------------------编程问答-------------------- 作为属性 不可变
我也说不太清
名字 公共基础类
你的名字继承公共基础类 然后定义为不可变
补充:.NET技术 , C#