-
Data: 2011-04-04 12:45:10
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Paweł Kierski <n...@p...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2011-04-04 13:28, Grzegorz Krukowski pisze:
[...]
>>> Stąd zarówno rozwiązania z C++ z jednej strony (przestrzenie nazw i
>>> jednostki kompilacji) jak i z Javy z drugiej (pakiety i jednostki
>>> kompilacji ograniczone do jednej publicznej klasy) to tylko
>>> fragmentaryczne, niekompletne kawałki.
>>>
>>> Mam nadzieję, że nieco wyjaśniłem
>>
>> Pomijając na razie kwestie łatwości zapisu i czytelności - nie widzę tu
>> niczego, czego nie dałoby się wyrazić w C++ za pomocą przestrzeni nazw
>> i jednostek kompilacji. Na tej samej zasadzie w C++ nie ma słowa
>> interface, ale daje się go dobrze wyrazić za pomocą klasy wyłącznie
>> z metodami tylko abstrakcyjnymi.
>
> Tak, ale twoja modularyzacja opiera się na systemie typów: z jednej
> strony musisz w nim zawrzeć taką strukturę która odzwierciedla logikę
> modelowanego bytu, z drugiej strony logikę modułów. Obydwie te logiki
> mogą nie mieć ze sobą nic wspólnego, to raz, dwa że struktura
> dziedziczenia robi się zbyt skomplikowana.
> Jeżeli używasz modułów to obie te części są całkowicie niezależne, nie
> mieszasz ze sobą logiki modelu z logiką konstrukcji programu co jest
> niebagatelną zaletą.
Modułem mogę uczynić wiele klas zamykając je w przestrzeń nazw
i oddzielną bibliotekę. Tak - tu wychodzą "szwy": nie da się zupełnie
ukryć interfejsów "wewnętrznych" klas modułu, czyli mamy trochę
obiektowość w C.
Chyba, że sensowne w ramach modułu jest cięcie "w poprzek" klasy. Wtedy
istotnie się nie da. Cięcie przez hierarchie dziedziczenia też są
niezbyt miłe (co przy okazji pokazuje gdzie powinna być agregacja,
a nie dziedziczenie).
--
Paweł Kierski
n...@p...net
Następne wpisy z tego wątku
- 04.04.11 12:56 Maciej Sobczak
- 04.04.11 13:01 Paweł Kierski
- 04.04.11 14:53 A.L.
- 05.04.11 06:20 Andrzej Jarzabek
- 05.04.11 07:41 Sebastian Kaliszewski
- 05.04.11 07:52 Paweł Kierski
- 06.04.11 14:14 Andrzej Jarzabek
- 06.04.11 17:31 Zbigniew Malec
- 07.04.11 04:53 p...@p...onet.pl
- 07.04.11 10:25 Andrzej Jarzabek
- 07.04.11 14:43 p...@p...onet.pl
- 07.04.11 18:41 Zbigniew Malec
- 07.04.11 20:29 p...@p...onet.pl
- 07.04.11 23:45 Andrzej Jarzabek
- 08.04.11 05:15 p...@p...onet.pl
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=