NH自动变成PersistentGenericList

备忘一下:

一个RelationType=List的NH 持久化的集合属性,我把它扩展为自己的接口IListX,则必须在声明改属性的时候用这个接口,而且我发现不能用自己的实现了该接口的类来容纳这个属性。调试后才发现,原来原因是在save()操作后,NHibernate会把原来自己的类变成PersistentGenericList<T>类,所以必须用一个能存放它这个PersistentGenericList<T>类的东西在声明这个属性。(Set当然也类似)。 但我又想实现自己的一些filter方法所以使用了IListX,所以,不得不修改NHibernate的代码让PersistentGenericList<T>也实现这个接口。这样才能容纳得下。。。

 

 

Decorator设计模式

虽然设计模式分得太细会有过度的趋势,Decorator某种程度上也是一种facade模式。

但是实现起来还是比较漂亮的。

http://www.jdon.com/designpatterns/decorator.htm

这个链接的文章刚好看到的,有一个实现。虽然和上述不同,没有把成员_list 也声明为接口,而是声明为类(我改写成接口了)。

http://forum.castleproject.org/viewtopic.php?t=1770&postdays=0&postorder=asc&start=15&sid=bf7718924c8bbc6a99bacde207393932

而后面那个人的class ARList<T> : List<T>, IList<T> 的方法就不是Decorator。它没有一个内部的List<T>。这样

However, now ALL of List<T>’s methods are visible, including stuff not just in IList<T>, hence broadening what must be overridden.

但是如果我不Override,而是继续用List<T>的其他可见的方法难道不行?也许是List<T>的其他方法有些依赖Add/Remove方法的会出现问题。

另外,他们讨论的IList<T>似乎是NH的Generic而不是.net的IList<T>,要注意using指令里指定的到底是哪一个。

继续研究中…

update: IList就是System.Collection.Generic的,NH里虽然使用IList接口,但是有自己的PersistGenericList类(大概是这个名字),而它只是实现了IList接口,却不是List<T>继承出来的。所以不能直接从NH的持久化类转成List<T>.只能用Decorator,而且_list必须用接口声明才能接收NH的List<T>()出来的集合。

(转载)巴菲特卖中石油股票卖错了吗?

巴菲特卖中石油股票卖错了吗?

 http://qinhefang.blog.sohu.com/68766099.html

在中国内地和香港股市持续高涨之际,被誉为“股神”的巴菲特卖空“亚洲最赚钱的公司”中石油的股票引起一片轩然大波,尽管巴菲特在中石油身上已经获得数倍的赢利,但巴菲特卖空之后中石油的持续强劲上涨,至少使得巴菲特“看起来”少赚了上百亿的回报,众多言论认为巴菲特这次是犯了一次错误,或者说从巴菲特面临中国经济的强劲增长,仅仅投资了中石油这一支股票,其“保守”说明巴菲特并不懂中国经济,历史或将证明在投资中国经济未来这一票上,巴菲特也许会出现失算。

首先应该说,巴菲特卖出并不意味着中石油股价就应该下跌,或者说中石油股票就已经没有投资价值了。但反过来说,中石油继续上涨,也不意味着巴菲特就犯了错误。都知道巴菲特秉持的是“价值投资”理念,但巴菲特的的投资理念里还有一条,就是要“看得懂”。“价值投资”是价值观,“看得懂”是方法论,用“价值投资”的眼光,找到了确实“看得懂”的股票进行长期投资,那么投资的风险就可以大大降低。只有在这种情况下,才可以以少失手、少犯错误来换取数十年的复利增长,使得看起来并不是非常高的年收益率显示出长期惊人的回报。

那么在卖出中石油股票的决策上,巴菲特到底是因为认为中石油股价已经从价值投资转为投机行为了呢还是因为看不懂?从巴菲特接受央视《经济半小时》栏目记者采访的回答看,应该是巴菲特认为中石油的赢利没有可持续性,就是巴菲特认为中石油能够成为“亚洲最赚钱的公司”和“市值第一”的公司,更多的拜全球油价上涨,而不是公司自身的赢利能力,尽管可以预计随着中国经济规模的进一步膨胀,拥有垄断优势的中石油的发展空间和赢利保证是可预期的,但从历史上油价的波动规律看,油价的涨落有一个周期性的循环,当油价进入下降周期之后,中石油的业绩将难以避免的受到重大影响。可以想象,受高油价的刺激,资本不但在追逐石油公司的股票,更会将无数的投资倾撒到各个可能增加能源供应的角落,而在能源的应用市场上,节能措施和技术也正在得到大力的推广(包括中国政府的节能减排行为),到一定程度,将导致油价上涨趋势的逆转。这种大趋势的准确时间尽管不确定,但周期性的波动规律是一定的。能源供应的这种特征导致能源企业的赢利也同时具有了周期性。

那么至少来说,中石油的股价在这个价位上,风险是增加了的,尽管仍然有非常大的可能继续上涨,甚至长期上涨,但对于一个追求稳健与长期回报的“价值投资”者来说,已经不是上佳的选择。

尽管号称“股神”,资本市场也无须唯巴菲特马首是瞻,毕竟他有他的投资理念,别人有比人的投资理念,巴菲特只是选择了了一种他自己熟悉的而且被证明有效的投资方式。其实,资本市场有多种投资方式,比如相对于价值投资,还有趋势投资,相对于稳定回报,还有风险回报,但从长期投资回报的角度考察,能控制什么风险,才能不受伤害的吃到什么“美味”,虎口拔牙并不是最危险的,最危险是不知道老虎原来可以吃人。

有一点是肯定的,以10-20年的长周期看投资回报,收益最大的肯定不是在牛市中最赚钱的,而是在牛市中赚了钱还有效的回避了牛熊转换的风险的投资者。

 

注:不管巴菲特是不是如他宣称的对石油价格没有信心而卖的中石油,反正他是大赚了一笔。即使是油价没有如他所指的下跌而是大涨,中石油也没赚钱–没有市场化的价格。这是不是也是他没有信心的原因之一呢?这就难说了。反正人家是赚了跑掉了。