访问者模式

访问者模式要解决的问题是,如果一个类的需要频繁的增加方法,但是因为接口原因这个类又不能更改。我采取的访问者模式,就是给这个类实现一个Element的接口的Accept的方法,这个方法会实现一些实现了IVisitor接口的类。也就是说只要我实现了IVisitor接口,我就能在不改变Element的前提下,对他进行更改,访问。这个等于是,把一个需要更改的点,转移到了另个类,这种方法,一般是面对我要改, 确因为各种原因不能改的情况下来用的。C#里的扩展方法就是访问者模式的很好的实现。但是如果一个类太臃肿了,功能太繁杂了。但是,我又不能对他进行重构。就只能用访问者模式,来增加新的特性以应对新的需求。

你可能感兴趣的:(访问者模式)