Здравствуйте, VAD_OS, Вы писали:
VAD>Мне нужен пример слабосвязанного кода, приведу пример.
VAD>Но такое решение наверное не очень красивое хотя бы потому,
VAD>что появляется дополнительное свойство у доменного объекта Product.
Это не слабосвязный код, и красивым его назвать нельзя хотя бы потому что он банально не решает поставленную задачу.
Я бы усиленно порекомендовал бы почитать по ключевым словам "оптимистическая блокировка", "транзакция", "пессимистическая блокировка". А после прояснения теорри, обратился бы в хелп любимого ORM-а и понял бы как упомянутые концепции реализованы в нем. Затем берешь код из примера, копипастишь, апдейтишь, возможно врапаешь красивыми интерфейсами(хотя в твоем случае — луччи не надо) и вуаля.