eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming'abstrakcje' a zwartoscRe: 'abstrakcje' a zwartosc
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mail
    From: zażółcony <r...@c...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: 'abstrakcje' a zwartosc
    Date: Wed, 09 May 2012 17:30:48 +0200
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 84
    Message-ID: <joe2j1$62b$1@news.task.gda.pl>
    References: <jod34n$a2q$1@inews.gazeta.pl> <jod8u2$5ht$1@news.task.gda.pl>
    <jodi47$f6t$1@inews.gazeta.pl> <jodmp0$99n$1@news.task.gda.pl>
    <jodtte$fhj$1@inews.gazeta.pl>
    NNTP-Posting-Host: efp194.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1336577441 6219 83.14.249.194 (9 May 2012 15:30:41 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Wed, 9 May 2012 15:30:41 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428
    Thunderbird/12.0.1
    In-Reply-To: <jodtte$fhj$1@inews.gazeta.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:197154
    [ ukryj nagłówki ]

    W dniu 2012-05-09 16:10, f...@g...pl pisze:
    > zażółcony<r...@c...pl> napisał(a):
    >
    >> W dniu 2012-05-09 12:49, f...@g...pl pisze:
    >>> zażółcony<r...@c...pl> napisał(a):
    >>>
    >>>> W dniu 2012-05-09 08:33, prof fir pisze:
    >>>>> czy ktos moze podac jakies przyklady abstrakcji ktore
    >>>>> poprawiają zwiezlosc kodu w ten sposob ze przy uzyciu
    >>>>> tych abstrakcji kod bylby znacznie mniejszy i czytelniejszy
    >>>>> niz normalny (przyzwoity, ale bez tych wypracowanych abstrakcji)?
    >>>>
    >>>> Przykąłd masz w innym watku: "what up, programowanie aspektowe"
    >>>>
    >>> tam jest przyklad na podzial kodu (istotnie dosyc ciekawy,
    >>> np na pion glowny i pion do logow plus pion do jeszcze czegostam)
    >>> nie na osiaganie zwartosci przez jakies wysokopoziomowe techniki
    >>>
    >>> pewna techniką mogloby byc zwykle definiowanie operatorow np
    >>> dla mnozen na wektorach i macierzach - ale to zastosowanie
    >>> jest ograniczone, bo w praktyce nie ma tego duzo
    >>>
    >>> powinny byc byc moze jakies inne techniki nadawania kodu
    >>> zwiezlosci przy pomocy abstrakcji ale nic mi jakos nie
    >>> przychodzi do glowy
    >>
    >> Ale tworzenie abstrakcji wiąże się z podziałem/refactoringiem
    >> kodu, tu nie ma sprzeczności.
    >>
    >> Tworzenie abstrakcji to identyfikacja jakiegoś powtarzalnego
    >> zjawiska/konstrukcji/rozwiązania, jego nazwanie
    >> i 'wyabstrahowanie' do takiej postaci, by np. jeden problem
    >> rozwiązywać w jednym miejscu, a nie w tysiącu
    >> (na zasadzie copy-paste lub ...). Albo by np. jedno wymaganie
    >> użytkownika implementować w jednym miejscu (żeby przeciwdziałać
    >> zjawisku rozpraszania implementacji wymagań, bo potem jest kłopot, kiedy
    >> wymaganie się zmienia i trzeba poprawiać w wielu miejscach
    >> kodu).
    >>
    >
    > no tak z tym ze 'wydzielenie czegos do jednej funkcji i nie
    > powtarzanie tego copy'n'pastem tylko wywolywanie ' vel
    > 'wydzielenie czegos do jednej funkcji i zapodanie tego
    > drugiej przez wskaznik' to są normalne raczej niskopoziomowe
    > techniki - mi chodzi o jakies inne, wyzejpoziomowe ktore
    > nie wystepuja przynajmniej w jakiejs w miare ladnej postaci
    > w nizejpoziomowej wersji - slowem chodzi mi o techniki
    > wysokopoziomowe (hll) ktore owocuja znacznie krotszymi kodami
    > i najlepiej czytelniejszymi kodami (w hll w stosunku do c)

    Imo to nie tak ...
    Tworzenie abstrakcji to nie żadne czary-mary, które sprawiają,
    że w jednej linijce kodu implementujesz wiele wymagań użytkownika.
    Jest wiele wymagań - będzie dużo kodu. Chyba że ...
    Chyba że są to wymagania 'powszechne' a nie specyficzne, zwiazane
    n. z modą na to, by okienka wyglądały tak samo. Wtedy ktoś Ci
    to zrobi i powie, jak masz to użyć.
    Tworzenie abstrakcji to zwykłe, programistyczno-projektowe
    rzemiosło. Ja sie do C nie odnoszę, bo ostatnio programowałem
    w c na poważnie jakieś 11 lat temu. Ale w Javie to masz to co
    podałem. Dodatkowo można dodać tyle, że np. dzięki narzędziom takim
    jak Spring + całe zestawy bibliotek współpracujących
    wiele spraw sprowadza się do odpowiedniego pozapinania aspektów
    technicznych 'na górze', ale nic nie zwalnia z tego, że
    musisz usiąść i trzaskać te metody w klasach, które robią
    biznes. Możesz liczyć na "coś więcej", jak wchodzisz w jakiś
    wyspecjalizowany obszar, np. jak wchodzisz w temat integracji
    systemów informatycznych (budowa interfejsów międzysystemowych)
    to dostajesz w ręce oparty na Javie server Mule, tzw.
    szynę danych, która dostarcza od razu abstrakcje ułatwiajace
    implementację typowych w takich zadaniach wzorców projektowych
    - i jak wiesz o co biega, to wiele ze spraw, zamiast projektować -
    możesz sobie wyklikać na diagramach. Jak jesteś bardziej
    po stronie implementacji wymagań biznesowych, to być może BPEL
    jest tym, o co pytasz, może drools. Pod spodem jednak
    zawsze siedzi ta Java (ew. .NET). Wykorzystanie abstrakcji
    polega tu na ty, że ktoś zaplanował za Ciebie szablon, w którym
    z góry określił, gdzie się zaczynają i kończą transakcje biznesowe i/lub
    dostarczył plik konfiguracyjny, w którym np. wymieniasz nazwy
    klas/funkcji/interfejsów, które maję się odpalać transakcyjnie.
    Ale ideowo jest to dokładnie to samo, co Ci pokazałem.
    Musisz sam zbudować funkcje/obiekty i je powiązać zależnościami :)
    Np. zależnością: "jedna wywołuje drugą".
    Inaczej się nie da :)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: