𝗟𝗟𝗗 𝗗𝗲𝘀𝗶𝗴𝗻 𝗣𝗿𝗼𝗰𝗲𝘀𝘀 (𝗙𝗿𝗼𝗺 𝗥𝗲𝗾𝘂𝗶𝗿𝗲𝗺𝗲𝗻𝘁𝘀 𝘁𝗼 𝗖𝗼𝗱𝗲)

Ubunifu wa Kiwango cha Chini (Low Level Design) si kuhusu kuandika code mara moja. Ni kuhusu kufuata mchakato uliopangwa.

Fuata hatua hizi ili kutoka kwenye maelezo ya tatizo hadi kwenye code inayofanya kazi.

  1. Elewa Mahitaji Usikimbilie kutengeneza class. Kwanza, tambua mfumo unapaswa kufanya nini.
  • Je, unahitaji vipengele (features) gani?
  • Ni vitendo gani vinavyopaswa kuungwa mkono?
  • Ni mabadiliko gani yanayoweza kutokea baadaye?
  1. Tambua Nomino ili Kupata Class Tafuta nomino katika mahitaji yako. Nomino zinakuwa class zako. Mfano: Kihariri cha Nyaraka (Document Editor)
  • Nomino: Document, Text, Image, Storage, Editor.
  • Class: Document, TextElement, ImageElement, Storage, DocumentEditor.

Mfano: Eneo la Maegesho (Parking Lot)

  • Nomino: ParkingLot, Floor, Slot, Vehicle, Ticket.
  • Class: ParkingLot, Floor, Slot, Vehicle, Ticket.
  1. Tumia IS-A kwa Urithi (Inheritance) Jiulize: "Je, mtoto ni aina fulani ya mzazi?"
  • TextElement IS-A DocumentElement.
  • Car IS-A Vehicle.
  • Dog IS-A Animal. Ikiwa jibu ni ndiyo, tumia urithi (inheritance).
  1. Tumia HAS-A kwa Composition Jiulize: "Je, object moja inajumuisha nyingine?"
  • A Document HAS-A mkusanyiko wa elements.
  • A ParkingLot HAS-A seti ya floors.
  • A Car HAS-A injini. Tumia composition kuunganisha object hizi.
  1. Tambua Vitendo (Verbs) ili Kupata Method Tafuta vitendo katika mahitaji. Vitendo vinakuwa method zako.
  • Kuongeza maandishi (Add text) inakuwa addText().
  • Kuhifadhi nyaraka (Save document) inakuwa save().
  • Kuegesha chombo (Park vehicle) inakuwa parkVehicle().
  1. Panga kwa ajili ya Mabadiliko kwa kutumia Interface Fikiria kuhusu maboresho ya baadaye. Ikiwa unahifadhi nyaraka, unaweza kutumia File, Database, au Cloud.
  • Tengeneza interface inayoitwa Persistence.
  • Tengeneza implementations kama FileStorage au DBStorage. Hii inakuwezesha kuongeza CloudStorage baadaye bila kubadilisha code yako iliyopo.
  1. Chora UML na Uandike Code Mara tu unapokuwa na class, urithi, composition, na method, chora mchoro wa UML. Hii inafanya kazi kama ramani (blueprint) yako. Hatimaye, badilisha ramani hiyo kuwa code safi.

Summary Flow:

  • Mahitaji
  • Nomino kwenda kwenye Class
  • IS-A kwenda kwenye Inheritance
  • HAS-A kwenda kwenye Composition
  • Vitendo kwenda kwenye Method
  • Tofauti kwenda kwenye Interface
  • Mchoro wa UML
  • Code ya Mwisho

Source: https://dev.to/roshan_singh_dd54d52bbaa7/lld-design-process-from-requirements-to-code-594m