Programowanie obiektowe warto jest rozpocząć od przeanalizowania problemu i zaprojektowania rozwiązania. Bardzo pomocnym krokiem (szczególnie w utrzymaniu wysokiej jakości oprogramowania) jest modelowanie dziedziny.
Spis treści
Pojęcia:
Programowanie obiektowe — technika tworzenia programów komputerowych wykorzystująca klasy i obiekty, które komunikują się ze sobą i nawzajem wywołują swoje metody.
Obiekty — elementy oprogramowania łączące stan (dane) i zachowania (metody).
Analiza — badanie problemu.
Analiza obiektowa — badanie i klasyfikacja obiektów pojęciowych w problemie.
Projektowanie — tworzenie koncepcyjnego rozwiązania.
Projektowanie obiektowe — tworzenie koncepcyjnego rozwiązania bazującego na obiektach, ich odpowiedzialnościach, komunikacji między nimi, relacjach i zależnościach.
Wzorce projektowe — powszechne rozwiązania typowych problemów.
Model dziedziny — odzwierciedlenie części świata rzeczywistego oraz ich zależności.
Sprzężenie — miara jak bardzo obiekty zależą od siebie nawzajem.
Spójność — miara jak bardzo metody danej klasy powiązane są ze sobą funkcjonalnie.
Obiektowe modelowanie dziedziny zawiera:
- Klasy pojęciowe — obiekt występujący w modelowanej dziedzinie. Mogą odpowiadać rzeczownikom z opisu świata. Podczas modelowania należy myśleć o rzeczywistym świecie, a nie artefaktach programowych (np. bazie danych).
- Powiązania — są to zależności między klasami. Mogą odpowiadać czasownikom z opisu świata. Zależności między klasami określają zdania, np. Jan (klasa Osoba) mieszka pod adresem (klasa Adres).
- Liczebność — atrybut powiązania. Określa liczbę egzemplarzy klasy A powiązanej z jednym egzemplarzem klasy B.
- Atrybuty- opisy egzemplarzy klas pojęciowych. Problemy:
- Atrybut (pole klasy) może być inną klasą (np. w Osobie możemy dać pola Ulica, Nr domu, a możemy dać klasę Adres, które będą zwierały te pola) lub atrybutem innej klasy (np. numer jest atrybutem Miejsca, a nie Biletu).
- Atrybuty są wartościami typów podstawowych (w innym przypadku są to klasy pojęciowe).
Porządek obiektowego modelowania dziedziny:
- Klasyfikacja obiektów.
- Rozważanie związków między klasami.
- Klasyfikacja atrybutów klas.
Warto dbać o wysoką spójność klas oraz nie należy bać się tworzenia klas pomocniczych.
Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:
- Początek mini projektu: Poznaj zasady SOLID i OOP
- SOLID
- S jak Single responsibility principle, czyli zasada jednej odpowiedzialności
- O jak Open-closed principle, czyli zasada otwarte/zamknięte
- L jak Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- I jak Interface segregation principle, czyli Zasada segregacji interfejsów
- D jak Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- CS jak Ćwiczenia Single responsibility principle, czyli zasada jednej odpowiedzialności
- CO jak Ćwiczenia Open/closed principle, czyli Zasada otwarte-zamknięte
- CL jak Ćwiczenia Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- CI jak Ćwiczenia Interface segregation principle, czyli Zasady segregacji interfejsów
- CI jak Ćwiczenia Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- Ćwiczenia z SOLID
- Podsumowanie połowy projektu: Poznaj zasady SOLID i OOP
- Ćwiczenia z SOLID — Kata
- OOP — Object Oriented Programming, czyli programowanie obiektowe
- OOP — Myślenie obiektowe
- OOP — Object Oriented Programming, czyli programowanie obiektowe — Modelowanie dziedziny
- KISS — Keep it simple, stupid, czyli Bez udziwnień zapisu, idioto (BUZI)
- Lod — Law of Demeter, czyli Prawo Demeter
- DRY — Don’t repeat yourself, czyli Nie powtarzaj się
- SLAP — Single Level of Abstraction Principle, czyli Pojedynczy poziom abstrakcji
- Composition Over Inheritance, czyli Kompozycja ponad dziedziczeniem
- Encapsulate what changes, czyli Ukrywaj zmieniające się rzeczy
- Podsumowanie projektu: Poznaj zasady SOLID i OOP
- Podsumowanie zasad SOLID i OOP
- Mini kurs: Poznaj zasady SOLID i OOP – Zapisz się!
- Praca cząstkowa w Metodzie Kanban
Źródła
Obraz główny
Materiały
- http://wazniak.mimuw.edu.pl/index.php?title=Programowanie_obiektowe
- http://wazniak.mimuw.edu.pl/index.php?title=PO_Obiektowe_modelowanie_dziedziny
- http://wazniak.mimuw.edu.pl/index.php?title=PO_Wprowadzenie_do_programowania_obiektowego
Zawartosc skladajaca sie z internetowego edytora HTML. Wpisz kod licencji, aby zatrzymac dodawanie podobnych reklam do edytowanych dokumentów.