-
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 :)
Następne wpisy z tego wątku
- 09.05.12 19:03
- 09.05.12 19:25 Piotr Chamera
- 09.05.12 19:47
- 09.05.12 21:07 R.e.m.e.K
- 09.05.12 21:30
- 09.05.12 22:21 M.M.
- 09.05.12 22:26 t.o.
- 10.05.12 00:38 R.e.m.e.K
- 10.05.12 02:13 Andrzej Jarzabek
- 10.05.12 07:40
- 10.05.12 07:51 M.M.
- 10.05.12 10:56 zażółcony
- 10.05.12 14:57 zażółcony
- 10.05.12 15:53 AK
- 10.05.12 16:04 AK
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek