![][1] Иногда бывает интересно изучить архитектуру какого либо изделия, и посмотреть как оно устроено. Вот бывало разберешь часы, а обратно собрать не можешь… Но в отличии от часов программные продукты при доступе к исходникам можно разобрать, и собрать. А найденные решения применять уже в своей практике. Когда у меня возникла необходимость в создании [CxxMock][2], о котором я писал в статье [CxxMock — Mock-объекты в C++][3], я разобрал принцип действия похожего [GoogleMock][4]. Или еще раньше разобрал основную идею c10k сервера [mathopd][5], что последующих проектах позволило мне лучше маневрировать в проектировании архитектуры. Поэтому, я расскажу об основных концепциях и за счет которых работает CxxMock. И которые было интересно придумывать. Возможно, некоторые трюки покажутся вам простыми, а другие смогут вам помочь в вашей практике. [CxxMock взгляд изнутри][6]
[1]:
http://habrastorage.org/getpro/habr/post_images/570/e79/e73/570e79e73ed38f63467392e937ed9e13.jpg
[2]:
http://cxxmock.com
[3]:
http://habrahabr.ru/post/250979/
[4]:
http://code.google.com/p/googlemock/
[5]:
http://www.mathopd.org/
[6]:
http://habrahabr.ru/post/251133/#habracut