Яндекс опять всё испортит, да? А знаете ли вы, что у них вектора есть каждой машины, то есть данных достаточно для гидродинамического моделирования потоков и прогнозирования на ближайшие несколько часов. И можно составлять точный прогноз и расчитывать маршрут исходя из него, а не из текущего состояния пробок. Не хотите сами до ума доводить, дайте хоть хорошим людям это честно сделать! С уважением, бывший (озлобленный) «яндексоид».
Кнопку «Play/Pause» надо сделать «срабатывабельнее», какая-то она странная. Слой с пробками нужно сделать прозрачнее, чтобы было видно надписи и дороги. Стационарные области с недоступными, так понимаю, местами, лучше либо красить в совсем тёмный цвет, либо аппроксимировать по соседям, чтоб кавайнее смотрелось.
Наследование от аггрегации отличается необходимостью менять интерфейс, а не только реализацию, при изменении базового класса. И похоже на композицию тем, что требует умения создавать экземпляр базового класса.
Только, чтобы это всё понять, необходимо «перевернуть» «содержащий» класс и «содержащийся» — когда речь идёт о наследовании, все программисты путают направленность отношения. Дочерний класс является «содержащим», а родительский — «содержащимся» в дочернем. Это кажется непривычным, но ставит мозги на место, а понятия — по полочкам. Я всю ночь разбирался вот, чтоб понять отличия ассоциации, отношения, аггрегации, композиции и наследования. Заодно UML наконец понял, что там за стрелки странные :-)
Только, чтобы это всё понять, необходимо «перевернуть» «содержащий» класс и «содержащийся» — когда речь идёт о наследовании, все программисты путают направленность отношения. Дочерний класс является «содержащим», а родительский — «содержащимся» в дочернем. Это кажется непривычным, но ставит мозги на место, а понятия — по полочкам. Я всю ночь разбирался вот, чтоб понять отличия ассоциации, отношения, аггрегации, композиции и наследования. Заодно UML наконец понял, что там за стрелки странные :-)