> Перегрузку application делаете синглтоном
Application и так по сути является синглтоном, система создает один инстанс этого класса на всё время жизни приложения.
fman2 да, Picasso наилучший вариант. Автор ответа сам начал с того, что не будет использовать чужую библиотеку, потому что она гадость, и пришёл к тому, что напишет своё глючное поделие, которое будет кочевать из проекта в проект, то есть ровно такую же библиотеку. Кэш в Picasso есть, асинхронная загрузка тоже, да и с https, насколько я помню, он работает.
Вот вечно с вами так: пытаетесь что-то умное сказать, а получается то ложь насчет количества статей на codeproject, то безумные заявления о том, что в тулбаре непонятно как иконку добавить, потому что это Java, в которой SRP, то какие-то сомнительные метафоры про бурундочков. Что сказать-то хотели?
Про спорт - очень дельное замечание, я хожу пешком каждый день хотя бы час, два раза в неделю хожу в тренажёрный зал, и ещё успеваю в настольный теннис играть. Во-первых гораздо бодрее стал, как только ввёл всю эту физическую активность в распорядок дня, а во-вторых лишние килограммы стали уходить. :) В общем физнагрузка дело _очень_ полезное. :)
Денис Загаевский я в курсе преимуществ (равно как и недостатков, которые тоже имеются). :) Я так завуалированно пытался вывести автора ответа на то, что "Используй RecyclerView" - это не ответ на поставленный вопрос, так как проблема состоит вовсе не в использовании неправильного виджета.
Ну в принципе и со строками можно утечку памяти огрести. Анонимный класс всегда держит внутри себя ссылку на внешний класс, поэтому если создать такую мапу внутри активити, а потом пробросить эту мапу в какой-нибудь синглетон, который положит мапу в статик поле - привет-привет, утечка активити. Я когда только начинал писать под Android, как-то раз таким вот незатейливым образом Service удержал от gc. Подумал, что писать в таком стиле - стильно, модно, молодёжно, осознание своих ошибок пришло позже. :)
Распишите заодно и проблемы, которые могут возникнуть при double brace initialization. А то юный падаван начнёт это использовать везде где можно и нельзя, и огребёт проблем.
Станислав я не знаю что это за NDA такой, который запрещает объяснять как работать на апворке. Вопрос был о том, как поступить в ситуации с неадекватным заказчиком, а не объяснить какие-то внутренние детали платформы.
Вопрос был про чистый C. Не C++, а С. Это раз. Linux ядро написано на чистых сях, около 12-15 (по разным источникам) _миллионов_ строк кода. Никакого ООП. При этом проект не стагнирует, а продолжает развиваться. Это два.
Топик-стартеру бы узнать про то, как организовано Linux ядро, и как построен процесс его разработки, а вы про ООП ему начинаете писать.
Андрей Шилов Попробуйте ещё на odeskconf вопрос задать, может там что посоветуют: https://github.com/odeskconf/guide. Там вся конфа создана для людей, зарабатывающих на upwork, плюс есть несколько русскоязычных сотрудников UpWork, они-то уж точно оптимальное решение подскажут.
Кто-то писал, что спокойно оставляет негативные отзывы у себя, так как позитивных гораздо больше, а рядом с негативным отзывом красуется подробное описание того, почему заказчик - нехороший сэр. Кто-то советует пообщаться с клиентом дополнительно, чтобы тот перебил оценку на более высокую. В любом случае, возврат 700 долларов сильно ударит по JSS, и лучше этого избежать.
Подождите пока возвращать, киньте лучше сюда ссылку на профиль, чтобы оценить масштабы происходящего. Может у вас там один негативный отзыв из шести, тогда вообще никаких проблем.
> Читайте блоги зарубежных программистов, они делают отличные архитектуры как в самом коде, так и решения в DB
Блоги-то может и отличные, а вот на практике какой-нибудь Джон из штата Нью Джерси может написать такой говнокод, что волосы дыбом встают. Причём я это из своего опыта знаю, ревьюил как-то с пяток проектов, написанных силами зарубежных программистов.
С блогами тоже не всегда всё правильно, в моей сфере (Android-разработка) в последнее время виден тренд в сторону архитектуры головного мозга и активного обмазывания RxJava там, где можно всё быстро и просто сделать средствами стандартного SDK. К чрезмерному усложнению тяготеют часто ребята, если проще говоря.
В общем пользование своей головой никто не отменял. :)
Интересная штучка, я в одном из проектов тоже в итоге к машине состояний пришёл, только к самописной. Потенциал переиспользования в новых проектах у неё довольно слабый, но зато проблемы с инкапсуляцией кода, относящегося к различным состояниям UI, она решает отлично.
Application и так по сути является синглтоном, система создает один инстанс этого класса на всё время жизни приложения.