Svar
Et modul,
- indkapsler kode og data for at implementere en bestemt funktionalitet.
- har en grænseflade, der giver klienter adgang til dens funktionalitet på en ensartet måde.
- er let at tilslutte med et andet modul, der forventer dets grænseflade.
- er normalt pakket i en enkelt enhed, så den let kan implementeres.
For eksempel indkapsler dapper.net databaseadgang. Det har en API for at få adgang til dets funktionalitet. Det er en enkelt fil, der kan tilsluttes et kildetræ, der skal bygges.
Begrebet modul kommer fra modulært programmeringsparadigme, som fortaler for, at software skal sammensættes af separate, udskiftelige komponenter kaldet moduler ved at nedbryde programmet fungerer i moduler, som hver udfører en funktion og indeholder alt, hvad der er nødvendigt for at udføre dette.
Kommentarer
- hvis vi har en række krav, så hver krav kan betragtes som et modul? F.eks .: kravet " Tilføjelse af medarbejder " kan være et modul?
- Nej eller det afhænger. Programfunktioner bør opdeles i sammenhængende enheder. Hvis kravene kan opdeles på en sådan måde, kan det være ja. Men jeg har ' ikke set noget lignende endnu. " Tilføjelse af medarbejder " bør heller ikke være en kandidat til modulet. Normalt er moduler strukturer på højere niveau, der nedbryder programmer til logisk sammenhængende enheder.
Svar
Modul kan være et overbelastet udtryk, så meget at Wikipedia beskriver det under udtrykket Modular Programming når man diskuterer dets anvendelse i forhold til software. De diskuterer det i form af struktureret programmering, der var baseret på en top-down design tilgang. Nøgleegenskaber ved modularitet relateret til brugen af lav kobling og høj samhørighed .
Min anvendelse har været, at et modul i et sprog som C eller endda C ++ er relateret til at definere en separat kompileret enhed fra en kildefil (.c eller .cpp) og typisk en tilknyttet headerfil (.h). Andre sprog bruger modulet som beskrivelse, og sproget Modula-2 sætter strukturering omkring moduler foran og i centrum i dets navn og tilgang.
Historisk set har modulet nogle andre implikationer som beskrevet i D.L. Parnas papir “Om de kriterier, der skal bruges til nedbrydning af software til moduler” . Han er primært beskæftiget med at diskutere fordelene ved at erstatte funktionel nedbrydning med dataorienteret nedbrydning, hvilket var et stort skridt mod vores nuværende moderne teknik, der er objektorienteret nedbrydning.
Objektorienterede sprog er organiseret omkring klasser, så måske er termmodulet mindre vigtigt og mindre præcist i den sammenhæng.
Svar
Der findes ikke en formel definition af et modul, og hvad et modul er (eller ikke er) i forbindelse med dit projekt afhænger i høj grad af projektets art og design.
Generelt er et modul et selvstændigt stykke kode, der giver specifik og tæt koblet funktionalitet, moduler definerer og håndhæver logiske grænser i din kode.