Według Stephena Schacha, „Klasyczna i obiektowa inżynieria oprogramowania”, rozdział 6:
moduł składa się z jednego bloku kodu, który można wywołać w taki sposób, w jaki wywoływana jest procedura, funkcja lub metoda
Wydaje się to bardzo niejasne i ogólne. Czy ktoś mógłby to jasno wyjaśnić i pokazać rzeczywiste przykłady, jak rozbić wymaganie na moduły? Dzięki.
Moduł może być pojęciem przeciążonym, do tego stopnia, że Wikipedia opisuje go pod terminem Programowanie modułowe podczas omawiania jego zastosowania w stosunku do oprogramowania. Omawiają to w kategoriach programowania strukturalnego opartego na odgórnym podejściu projektowym. Kluczowe cechy modułowości związane z zastosowaniem niskiego sprzężenia i wysokiej kohezji .
Moje użycie polegało na tym, że w języku takim jak C lub nawet C ++ moduł jest powiązany z definiowaniem osobno skompilowanej jednostki z pliku źródłowego (.c lub .cpp) i zazwyczaj jednego skojarzonego pliku nagłówka (.h). Inne języki używają modułu jako opisu, a język Modula-2 umieszcza strukturę wokół modułów z przodu i na środku w swojej nazwie i podejściu.
Historycznie, moduł ma pewne inne implikacje, jak opisano w dokumencie DL Parnas „O kryteriach, które należy zastosować w rozkładaniu oprogramowania na moduły” . Zajmuje go przede wszystkim omówienie korzyści płynących z zastąpienia dekompozycji funkcjonalnej dekompozycją zorientowaną na dane, co stanowiło duży krok w kierunku naszego obecnego stanu wiedzy, jakim jest dekompozycja zorientowana obiektowo.
Języki obiektowe są zorganizowane wokół klas, więc być może termin moduł jest mniej ważny i mniej precyzyjny w tym kontekście.
źródło
Nie ma formalnej definicji modułu, a to, czym jest moduł (lub nie jest) w kontekście twojego projektu, w dużej mierze zależy od charakteru i projektu projektu.
Mówiąc ogólnie, moduł jest samodzielnym fragmentem kodu, który zapewnia określoną i ściśle powiązaną funkcjonalność, moduły definiują i egzekwują logiczne granice w kodzie.
źródło