okulovsky / Prime

0 stars 1 forks source link

LibertyPrime + Linq.Expressions #1

Open okulovsky opened 10 years ago

okulovsky commented 10 years ago

Что, если LibertyChain будет хранить Expression вида

x=>Service2.Process(Log(Clone(Service1.Process(x)));

При этом этот expcesion будет строится ТОЛЬКО из нужных деталей (т.е. если объект Immutable, то метод Clone добавлен не будет, если выключено логирование, но не будет добавлен Log), а компилировать в самый последний момент, при старте фабрики?

Это будет Ultimate solution.

Zhigalov commented 10 years ago

Сделал наследника от LibertyPrime в котором переопределил CreateChain и LinkChainToChain: FuncLibertyChainFactory.cs

Правильно ли я тебя понял?

Zhigalov commented 10 years ago

Фича запилена в ветке https://github.com/air-labs/Prime/tree/FuncLibertyPrime Если я правильно понял - то она себя оправдала. Поэтому предложение такое:

  1. Доработать это решение (кажется можно еще по-упарываться за производительность в ряде мест).
  2. Заменить LibertyPrime на решение с Expressions.

Если так - предлагаю создать два сабтаска, а этот закрыть.