Архитектура приложения - характеристики, описание и требования
Опубликованно 27.08.2018 06:15
Архитектура приложения – это то, без чего трудно обойтись даже при создании небольшого проекта. И если создание без достойного более или менее значительное представителя программное обеспечение работает без проблем, важных и удовлетворительной эффективности – дело не мыслимое. Какова архитектура приложения? Каким рекомендациям следовать, чтобы создать качественный продукт? Информация
При создании программного обеспечения, важно, что он был хорошо организован и работал без проблем. Это достигается за счет архитектуры. Ведь она позволяет сэкономить много сил, времени и денег. Также она часто выживет ли приложение на рынке или нет. Поэтому необходимо внимательно изучить процесс создания архитектуры, обращая внимание на решения заданий и критерии, используемые. Принципы работы не должны быть просто непонятными догмами, а в том, что он позволяет эффективно работать и создавать высококачественное программное обеспечение. По критериям
Следует отметить, что при упоминании выражения «архитектура приложения», надо понимать, что никакого определения не существует. Но если мы говорим о практике, большинство разработчиков и так быть в состоянии определить, где код-это хорошо, и где он является недостаточным. Почему это возможно? Широко это, в частности, благодаря тому, что хорошая архитектура-это, прежде всего, такой подход в создании программного обеспечения, что делает процесс разработки и обслуживания простым и эффективным. Приложение, к которому вы подошли с умом, легко расширять и изменять, тестировать, отлаживать и легко понять. Благодаря этому, вы можете сформировать универсальный список разумных критериев. Чтобы сделать ставку?
Работая с архитектурой, внимание должно быть уделено: Эффективности системы. Это дизайн архитектуры приложения должны создавать программное обеспечение, которое будет способно решать эти задачи и выполнять свои функции в различных условиях. В первую очередь, стоит отметить надежность, производительность, безопасность, масштабируемость (способность справляться с увеличением нагрузки). Гибкость системы. Любой, даже самый совершенный, приложение должно со временем измениться. Действительно, могут изменить существующие требования, или дополнить новыми. То, что является наиболее удобным и быстрым этот процесс, вы можете закончить с меньшим количеством ошибок и проблем, более конкурентоспособной и более гибкая, чем система. Поэтому необходимо, чтобы подход не является «аруба в камне». Расширяемость системы. Возможность добавления новых функций и сущности, чтобы не нарушить структуру базы, говорит о точности применения. На начальном этапе имеет смысл бросить только основные и необходимые функции. Но это должна быть возможность наращивания функциональности в зависимости от потребностей. И, следовательно, для этого требуется минимальное количество сил. Это настолько важно, что даже сформулировано в виде второго принципа SOLID: объекты открыты для расширения, закрыты для модификации. Это архитектура должна быть такой, что бы можно было писать новый код, но не пришлось изменить существующий. И что еще?
Эти три критерия архитектуры приложения не ограничивается: Масштабируемость развития. Архитектура должна предусматривать возможность обеспечить параллельность процессов развития, для того, чтобы увеличить количество людей, которые работают над проектом. Тестируемость приложения. Код, который легко проверить, содержит меньше ошибок и безопасна. Кроме того, это еще и подталкивает к формированию хорошего дизайна кода, что облегчает последующую работу с ним. Возможность повторного использования. Системы должны быть разработаны так, чтобы отдельные фрагменты могут быть применены в других проектах. Хорошая структурированность, удобочитаемость и понятность кода. Выше программ, в целом, большое количество людей. Часто ситуация, когда приходят новые или старые уходят. Архитектура приложения должна учитывать это. И все разработки должны давать возможность относительно легко и быстро понять систему, разработаны новые люди. Это позволяет хорошее структурирование проекта, отсутствие дублирования, хороший внешний вид и сопроводительной документации (необязательно, но желательно). И что?
Несмотря на наличие большого числа критериев, как правило приоритетности, рассматриваться как задача снижения сложности. И для этого ничего делить на части, не приходите. Большинство людей, он известен как принцип «разделяй и властвуй». Но если говорить на профессиональном языке, это иерархической декомпозиции. То, что это означает на практике? Существует большое целевой системе. Например: архитектура программного обеспечения. Она состоит из множества простых подсистем. Каждый из них имеет свои элементы. И так, пока не будут выделены мелких деталей, четкие и легко работать. Что хорошо, это то, что это решение не только известна, но универсальный. В дополнение к уменьшению сложности, это позволяет обеспечить гибкость системы, обеспечивает возможности масштабирования и повышает прочность конечного продукта. Обзор пример
Чтобы лучше понять, что представляет собой такой подход, необходимо рассматривать сферический программного обеспечения. Чтобы не впасть в уже совсем по-детски, в качестве инструмента выбрана архитектура клиент-серверных приложений, работающих через глобальную сеть. Действительно, в этом случае, вы должны учитывать множество подсистем, служб, модули, функции, процедуры, памперсы, а также организовать их взаимодействие, как между собой, так и с внешним миром. То, что они более независимы, более уверены, чтобы сосредоточиться на одной вещи. Преобразование спагетти-код в конструктор
Правильном подходе позволяет превратить готового продукта набор модулей (подпрограмм), которые взаимодействуют между собой простыми и четко определены. Это позволяет контролировать сложность вашего приложения и получить все преимущества, которые предоставляет прекрасную архитектуру:
1. Масштабируемость – позволяет расширить систему и повысить его производительность путем добавления новых модулей.
2. Ремонтопригодность – изменение части программы не требует вмешательства в другие.
3. Взаимозаменяемость – несколько модулей могут с легкостью выполнять функции.
4. Тестируемость – часто программы могут быть разделены и отдельно проверить (исправить).
5. Зонт – модуль, вы можете использовать в других программах и окружающей среды.
6. Кондоминиум – он разделен на элементы, части, которые легко понять. Какова процедура?
В первую очередь, необходимо произвести моделирование архитектуры приложения. Для этого используются как специальные программы, так и обычную бумагу. Первоначально, вы должны указать все элементы и установить между ними отношения, в дальнейшем и будет осуществляться. Затем возникает вопрос, как проводить распределение. Собственно говоря, есть иерархический, функциональный и комбинации шагов. Это не означает, что архитектура веб-приложений "клиент-сервер" модель должна быть построена на подходе – все зависит от ваших целей и задач. Для того, чтобы получить хороший результат, необходимо сделать описание. И здесь уже надо понимать, что это уместно и как это лучше реализовать. Чтобы получить хорошую архитектуру, нужно знать, как правильно сделать описание системы. Таким образом, необходимо понять, какой разбор правильный, как это лучше сделать. Рассмотрим, как будет выглядеть архитектура серверного приложения этого типа. В иерархической декомпозиции
Многие позволяют здесь ошибка, надрезая запросу на сотни классов. Более правильный подход-сломать систему больших модулей (пакетов), описывая его работу в целом. Затем они анализируются и, при необходимости, делятся на более мелкие объекты. Прежде чем начать, желательно разделить всю систему на определенные смысловые блоки, по крайней мере, мысленно. Часто-отсутствие выбора в двух уровнях (пакеты и классы). Несмотря на его, очевидно, эта идея не банальна, как кажется на первый взгляд. Например, такой ток архитектурный шаблон, как "Модель-Представление-Контроллер", также известен как MVC. На первом уровне вы можете поместить более крупные компоненты. В качестве примера, можно привести следующие: интерфейс пользователя, работа с базой данных, установить связь с объектом. И уже продолжить создание классов необходимо. Но не надо слишком усердствовать.
Таким образом, архитектуры приложений, данных, передачи только информации о состоянии определенного объекта, не должна излишне усложняют, представляющие небольшой интерес или неподходящих элементов. Например: если банковское приложение будет отображать рекламу третьих лиц, структур клиентам, маловероятно, что он ожидает успешное будущее. Функциональная декомпозиция
Деление модулей производится, исходя из задач, которые преследуются системы. При этой основе, как правило, можно разделить на несколько небольших. В этом случае, вы должны убедиться, что они могли работать/быть обработаны независимо друг от друга. На этой основе, желательно, чтобы модуль был ответственным за решение определенной части задач и сделает необходимые для этого функции. Кроме того, вы должны заботиться, ввести все меры, необходимые для правильной эксплуатации данных. Желательно поинтересоваться наличием результата без помощи других модулей, используя только ваши входящие данные. Что это происходит? Под модулем понимается не кусок произвольного кода, но программы, единица, являющаяся функционально полезная и полная. В сочетании разложения
Он рассматривает как модули сосредоточены на достижении цели. Здесь вы можете выбрать комбинацию из двух элементов: Высокое напряжение. Этот параметр указывает, что модуль ориентирован на узкий проблема. Взаимосвязь достигается только в этом случае. Если он выполняет множество функций, и не связанные между собой обязанности, это указывает на серьезную проблему. Слабая связанность. Этот параметр указывает на то, что модули, из которых строится отдельная система. Как дозволительно, но малоприятная альтернатива, слабо связанных между собой. Но они должны иметь возможность взаимодействовать.
Если обратить внимание на все эти аспекты, архитектуры сервера приложений, клиент, различные элементы и модули будут в состоянии выполнять все возложенные на них функции. В заключение
Конечно, это дело очень сложно рассматривать большую тему в рамках небольшой статьи. Но с другой стороны – если описывать все, что представляет хоть самый малый интерес, есть даже целой книги будет достаточно. Таким образом, архитектура корпоративных приложений является то, что продукт, предназначенный для масс-это другое. Вопрос конфиденциальности данных, выполняемые функции и другие важные моменты, от которых зависит успех от использования программы и достижения поставленных целей. Автор: Человека 1 Августа 2018 года
Категория: Мобильная техника