В общем, условно, такой код, глядя на который, даже самые суровые критики не могли бы найти к чему придраться.
Всегда можно к чему-то придраться.
Качество архитектуры можно понять только в динамике - легко ли вносить изменения в продукт, или сложно.
А так есть eShopOnWeb и eShopOnContainers