Правильно написать код для вашего приложения, это дело очень не сложное. На практике выясняется, что неопытный программист прежде, чем начать писать код для своего приложения, он сходит в туалет и запасется рулоном туалетной бумаги, так как после его заданных вопросов на Stackoverflow, боже упаси Ответ Mail.ru, на него выльется столько "грязи", что ему станет стыдно за вопрос и он закроет IDE.
Пошутили и хватит. Перейдем к делу.
Прежде чем написать свое приложение, подумайте о его предназначении, сколько людей им будут пользоваться, какая категория людей будет пользоваться вашим приложением и наверное самый главный вопрос который надо продумать: будете ли вы поддерживать приложение после его "релиза" в сеть, грубо говоря назовем этот этап "Анализ".
Так, пока суть да дело. При поддержке своего приложения, вы столкнетесь с Legacy-кодом. Представим такую ситуацию:
Вы только устроились на работу в не большую IT-компанию, в которой работают одни "прекрасные люди". Team-Lead вам говорит:
- Вот тебе проект, просмотри его и исправь ошибки.
А там такой код:
Первое что придет в голову:
- Поотрывать руки кто это писал;
- Уволиться с этой конторы;
- Плюнуть в лицо Team-Lead-у;
- Плюнуть в лицо тому кто это писал;
- Переписать (обычно, это никто не выбирает).
Теперь представьте, как вы будите это изменять????? Хороший вопрос, не правда ли? Приятнее знать, что в какой-то папке лежит код для работы только с БД или файлами, код для вычислений, и код для общей обработки информации.
Чтобы не писать подобного "некультурное слово" надо подумать о архитектуре приложения. Будет ли у вас База данных (БД), какие-либо внешний файлы конфигурации или тому подобное. Если для вас подходит одно из выше перечисленных, подумайте о многоуровневой архитектуре. НАКОНЕЦ-ТО мы до неё добрались!!!
Так вот, не отходя от темы. Что же нам дает многоуровневая архитектура, что это такое, где ее кушать и с чем?
(Google) Многоуровневая архитектура - клиент-серверная архитектура, в которой разделяются функции представления, обработки и хранения данных. Наиболее распространённой разновидностью многоуровневой архитектуры является трёхуровневая архитектура.
Если говорить своими словами, она имеет три уровня: Presentation Layer (PL), Business Layer (BL), Data Access Layer (DAL).
PL - самый первый уровень в нашей архитектуре. Данный уровень формирует данные, которые подлежат дальнейшей обработки в Business Layer.
BL - уровень бизнес-логики. В данном уровне могу проводится какие-либо математические и арифметические вычисления, которые можно будет передать обратно в PL, или передать в DAL для записи в БД или текстовые файлы.
DAL - уровень для обращения со внешними файлами проекта или БД.
Немного шуток про Беларусь)))))
Данная архитектура очень схожа на архитектуру правительства Беларуси, т.е. PL - это обычный работящий народ, BL - кассир Галя в Evroopt, которая умеет делать отмену, DAL - батька.
НО суть заключается в одном. PL знает только о BL, BL - знает только о DAL, а в то время DAL, не знает ни о ком. ГЫ ГЫ ГА ГА
Если брать по факту, тогда схема выглядит примерно так:
Сразу введу поправку, как вы могли заметить по стрелкам, каждый уровень знает о соседнем, но это не так. На данном рисунке стрелки показаны для того, чтобы разработчик понимал, что уровень может возвращать какой-либо тип данных, но его не должно волновать кому он возвращает, его задача только вернуть/записать.
Думаю что я написал все, что вы должны знать про многоуровневую архитектуру в приложении.
Пилить ли дальше статьи про программировании, в частности про C#?????
ВСЕ! Yield return Like++;