logo

Що таке низькорівневий дизайн або LLD? Дізнайтеся про системний дизайн

LLD або низькорівневий дизайн це процес проектування на рівні компонентів, який слідує за покроковим процесом вдосконалення. Вхідними даними для LLD є HLD.

як перетворити рядок на int у java
Що таке низькорівневий дизайн або LLD

Що таке низькорівневий дизайн або LLDn



Важливі теми для низькорівневого дизайну (LLD)

Що таке низькорівневий дизайн (LLD)?

LLD, або низькорівневе проектування, — це етап у процесі розробки програмного забезпечення, на якому детально вказуються компоненти системи та їх взаємодія. Це включає в себе перетворення високорівневого дизайну в більш детальний план, що стосується конкретних алгоритмів, структур даних та інтерфейсів. LLD служить керівництвом для розробників під час кодування, забезпечуючи точну та ефективну реалізацію функціональності системи. LLD описує діаграми класів за допомогою методів і відносин між класами та специфікаціями програми.

Пам'ятайте: Низькорівневе проектування також відоме як об'єктне проектування або мікрорівень або детальне проектування .



Діаграма класів у LLD

На цій діаграмі ми в основному перелічуємо всі сутності, які можуть бути частиною компонентів. Діаграми класів створюються, оскільки розробнику стає легше перетворювати їх у код.

Наприклад:

User Service  <-- User   <--Profile  <--ID>

Чим LLD відрізняється від HLD

Як вивчено, Дизайн високого рівня або HLD це загальний дизайн системи, де ми шукаємо компроміси між різними фреймворками, компонентами та різними базами даних і вибираємо найкращі, враховуючи потреби бізнесу та те, як система має працювати, як з точки зору функціональних, так і нефункціональних аспектів. Тут ми визначаємо компоненти та те, як ці компоненти спілкуватимуться один з одним. Отже, тут нас турбують загальні речі, а не код.



  1. Вибір компонентів, платформ і різних інструментів.
  2. Дизайн бази даних.
  3. Короткий опис зв'язків між службами та модулями.

Як утворити LLD з HLD?

Як було розглянуто вище, вхідними для фреймування низькорівневого проектування (LLD) є HLD. Тут, у LLD, ми дбаємо про те, як виглядатимуть наші компоненти, структуру, якою володіють різні об’єкти, і про те, як різні об’єкти матимуть свою відповідальність (підтримувані операції). Для цього перетворення ми використовуємо Діаграми Уніфікованої мови моделювання (UML). . Додаючи до цих діаграм ми використовуємо Принципи OOPS і Тверді принципи при проектуванні. Отже, використовуючи ці 3 парадигми, ми можемо перетворити будь-який HLD у LLD, щоб його було реалізовано.

Дорожня карта низькорівневого проектування

Щоб поєднати концепції LLD із реальним кодом, давайте зрозуміємо, як розробити будь-яку діаграму низького рівня, за допомогою наступних кроків:

Roadmap-to-Low-Level-Design-new

repl в java

1. Об'єктно-орієнтовані принципи

Вимога користувача обробляється за допомогою концепцій програмування OOPS. Тому рекомендується мати міцний контроль над концепціями OOPS, перш ніж рухатися вперед у розробці будь-якої низькорівневої системи. Концепція об’єктно-орієнтованого програмування 4 стовпи є обов’язковою для початку вивчення низькорівневого проектування, і програміст повинен добре знати ці 4 стовпи, а саме:

  1. Спадщина
  2. інкапсуляція
  3. поліморфізм
  4. абстракція

Щодо поліморфізму, ми маємо чітко визначитися з поліморфізмом часу компіляції та виконання. Програмісти повинні абсолютно чітко знати концепції OOPS, аж до класів і об’єктів, тому що OOPS є основою, на якій базується низькорівневий процес у будь-якій системі. Розробка низькорівневого дизайну є «надзвичайно суб’єктивною», тому що ми повинні оптимально використовувати ці концепції під час кодування, щоб побудувати систему низького рівня за допомогою впровадження об’єктів програмного забезпечення (класів, функцій, модулів тощо).

2. Процес аналізу та проектування

Це етап аналізу, який є нашим першим кроком, на якому ми перетворюємо проблеми реального світу на проблеми об’єктного світу, використовуючи концепції OOPS і принципи SOLID.

3. Патерни проектування

Тепер реалізація нашої вище об'єктно-орієнтованої задачі здійснюється за допомогою шаблонів проектування. Патерни проектування — це багаторазові рішення типових проблем, які виникають під час розробки програмного забезпечення. Вони забезпечують структурований підхід до проектування, запам’ятовуючи передовий досвід і перевірені рішення, що полегшує розробку масштабованого, зручного та ефективного програмного забезпечення. Шаблони проектування допомагають оптимізувати процес розробки, сприяють повторному використанню коду та підвищують загальну якість програмних систем.

Кожен шаблон описує проблему, яка багаторазово виникає в середовищі, і їх рішення можна застосовувати неодноразово без надмірностей.

Для чого потрібні шаблони проектування?

Ці проблеми виникали знову і знову, відповідно до яких були викладені ці рішення. З цими проблемами стикаються та вирішують досвідчені дизайнери у світі програмування, і рішення є надійними з часом, заощаджуючи багато часу та енергії. Тому складні та класичні проблеми у світі програмного забезпечення вирішуються перевіреними рішеннями.

Порада: Настійно рекомендується добре розуміти загальні шаблони проектування, щоб мати гарний контроль над проектуванням низького рівня.

Різні типи шаблонів дизайну

Існує дуже багато типів шаблонів проектування, давайте обговоримо 4 типи шаблонів проектування, які широко використовуються у всьому світі:

Також рекомендується вивчити наведені нижче 5 шаблонів проектування, оскільки вони менш потрібні, але їх рекомендується вивчити для базового розуміння шаблонів проектування.

  • Шаблон будівельника
  • Шаблон ланцюжка відповідальності
  • Викрійка адаптера
  • візерунок фасаду
  • Легкий візерунок

4. Діаграма UML

Це 2 типи діаграм UML:

програма java
  1. Структурна діаграма UML: Ці типи діаграм в основному визначають, як будуть структуровані різні сутності та об’єкти, і визначають зв’язок між ними. Вони допомагають представити, як компоненти виглядатимуть відносно структури.
  2. Поведінкова діаграма UML: Ці типи діаграм в основному визначають, які різні операції вони підтримують. Тут різна поведінка UML демонструє різну поведінку

Порада: Важливі діаграми UML, які часто використовують розробники, такі:

5. Принципи SOLID

Це набори з 5 принципів (правил), які суворо дотримуються відповідно до вимог системи або вимог для оптимального проектування.

Щоб написати масштабований, гнучкий, підтримуваний і повторно використовуваний код:

  1. Принцип єдиної відповідальності (SRP)
  2. Відкритий-закритий принцип (OCP)
  3. Принцип заміни Ліскова (LSP)
  4. Принцип сегрегації інтерфейсу (ISP)
  5. Принцип інверсії залежностей (DIP)

Важливо пам’ятати, що принципи SOLID – це лише рекомендації, а не суворі правила, яких слід дотримуватися. Головне — знайти баланс між дотриманням цих принципів і врахуванням конкретних потреб і обмежень вашого бізнесу.