Шаблоны дизайна, используемые в Android API - PullRequest
3 голосов
/ 24 августа 2011

У нас есть класс домашней работы для класса шаблона проектирования. В этом мы должны объяснить любой шаблон проектирования, используемый в любом API / Framework. Я думал, смогу ли я сделать то же самое с помощью Android API. Я знаю, что android использует некоторые команды, наблюдатели, шаблоны шаблонов и многое другое, но было бы здорово, если бы кто-то мог указать мне на исходный справочный документ или около того.

Заранее большое спасибо.

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Фреймворки почти по определению имеют тенденцию реализовывать шаблоны высокого уровня, такие как шаблоны MVC или ORM. Они не описаны в тексте GOF, хотя вы найдете их в других книгах шаблонов, таких как Patterns of Enterprise Application Architecture Мартина Фаулера . Некоторые шаблоны GOF реализованы на платформе или даже на уровне языка (например, события / делегаты C # в качестве примера шаблона Observer ), но в большинстве случаев шаблоны GOF оставляются на усмотрение отдельного разработчика для реализации по мере необходимости. детали, как правило, зависят от приложения или предметной области.

Android так же. Он имеет специфический вид встроенного Model-View-Controller, но не слишком много специфичных для GOF шаблонов. Вы можете рассматривать обратные вызовы жизненного цикла Activity (onStart, onResume и т. Д.) Как своего рода шаблон Observer, хотя с одним выделенным подписчиком.

Другим примером может быть AsyncTask , который можно рассматривать как разновидность Command Pattern . Я оставлю это вам, чтобы установить связь. В конце концов, это домашнее задание.

0 голосов
/ 09 августа 2015

Эта ссылка показывает, насколько широко используются шаблоны проектирования в ядре Java. Я ожидаю, что андроид также будет широко их использовать.

Примеры шаблонов проектирования GoF в основных библиотеках Java

И посмотрите, как конкретно шаблон адаптера используется во фрейме Android (второй пример из исходного кода Android)

http://javatechig.com/design-patterns/adapter-design-pattern-in-java

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/widget/Adapter.java?av=f

Шаблоны проектирования - это просто соглашения, которые сделаны для упрощения кодирования. И сделайте это более ясным, так что вы должны убедиться, что это именно то, что они делают, и не затенять структуру вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...