私はこれらのパターンファミリを何度も使用してきたような気がしますが、私にとってはの定義が非常に似ているため、違いを見るのは難しいです。基本的には、それらのすべてが約ラップ別のオブジェクトまたはオブジェクトを延長するか、またはラップ余分なものとそれらのように思われる。Decorator、Wrapper、およびAdapterパターンの違いは何ですか?
レポジトリパターン上のキャッシュメカニズムを実装する簡単な例は、このような状況のようです。ここに私がおそらく始めるだろうC#
の簡単なサンプルがあります。
public interface IRepository {
IEnumerable<T> GetItems<T>();
}
public class EntityFrameworkRepository : IRepository {
...
}
public class CachedRepository : IRepository {
private IRepository _repository;
private ICacheProvider _cache;
public CachedRepository(IRepository repository, ICacheProvider cache) {
this._repository = repository;
this._cache = cache;
}
public IEnumerable<T> GetItems<T>() {
...
}
}
たとえば、このような状況に該当するパターンはどれですか?誰でも簡単に理論と実際の違いを明らかにすることができますか?それらが同じである理論的には
[プロキシ、デコレータ、アダプタ、ブリッジパターンの違いは?](http://stackoverflow.com/questions/350404/how-do-the-proxy-decorator-adapter-and-bridge -patterns-different) – jaco0646
関連:http://stackoverflow.com/questions/3489131/difference-between-the-facade-proxy-adapter-and-decorator-design-patterns – jaco0646