Article View: alt.pl.comp.lang.csharp
Article #753Re: Juz jest! :) Visual C# Standard :)
From: Marek Janaszewski USUNTO. z adre...
Date: Thu, 08 Apr 2004 20:04
Date: Thu, 08 Apr 2004 20:04
82 lines
5728 bytes
5728 bytes
tibe wrote: [...] >> Wydaje mi się, że trochę przysłania. Ja uważam, że z darmowymi >> komponentami należy uważać, a w ogóle należy uważać w wpychaniem do >> swojej aplikacji zbyt dużej ilości komponentów. W końcu to obcy kod. >> A tak w ogóle to od Ciebie zależy od czego uzależnisz swoje >> możliwości w stworzeniu programu. Jeśli do każdej głupoty >> potrzebujesz masy komponentów. > > Nie wiem wszystkiego ale skoro componentone sa takie drogie to chyba > sa > cos warte, pozatym jak znajde czas to sprawdze na czym polega ten > trik z rejestracja > jak pisze Pan Jacek > "Zamawiasz Resource Kit na stronach Microsoftu i rejestrujesz to na > stronach ComponentOne. O ile dobrze zrozumialem licencje mozesz > korzystac z komponentow bez ograniczen....." > Gdyby jednak tak bylo to firma je robiaca poszlaby z torbami ... Witam! Moja wypowiedź była generalna, nie używałem ComponentOne i nic do nich nie mam. Po prostu spotkałem się z manierą instalowania do wszystkiego komponentów przez co środowisko staje się zaśmiecone darmowymi komponentami. Moim zdaniem budowanie z tego programów jest dyskusyjne. Chodzi o stabilność, szybkość działania, oraz ogóle panowanie na tym co się dzieje. Aktualnie pracuje w Delphi, tam jest zrobiona przez Borlanda bibioteka VCL, która podobnie jak aktualnie .NET Framework jest nakładką na Win32 API. Zresztą chodzą słuchy, że ktoś z ekipy Delphi pracował nad C#. Takie komponenty są przez programistów bombardowane wywołaniem metod. Można w nich znaleźć błędy i niedogodności, albo całe rozwiązania źle wymyślone. Nie wyobrażam sobie tak bezkrytycznego umieszczania w swojej aplikacji dowolnego obiektu ze świata. To o czym piszą w książkach, czyli ponowne wykorzystanie kodu przez programowanie obiektowe, nie dzieje się bez kosztu. Programista wywołuje różne metody w różnej kolejności a obiekt przed tym ma się obronić. Do tego dokumentacja i wykorzystanie obiektów zgodnie z koncepcją autora. W Pascalu (Delphi) jest zwyczaj aby wszystkie typy, w tym klasy zaczynać od dużej litery T, pola obiektów od F, itd. Dlatego nazwy obiektów w VCL są charakterystyczne poczynając od TObject. Na grupach Delphi spotkałem się z żartobliwymi postulatami aby napisać komponenty: TIf, TFor, TWhile, itd :-) Znana jest tendencja, że wizualne programowanie przekształcania się głupie programowanie. Oczywiście nie mam konkretnie nic do osoby pytającej albo do ComponentOne. Rozumiem także, że to mają być narzędzia RAD i zakup mocniejszego komputera jest tańszy od pracy programisty. Tylko apelowałem o zachowanie umiaru. Np. jak patrzę na ADO.NET wydaje się to całkiem zachęcająco ponieważ nie wszystko polega na powiązaniu komponentów za pomocą właściwości. Trzeba napisać trochę kodu, napisać kilka zapytań SQL, wiedzieć jak wygląda koncepcja tego użycia. Nie ćwiczyłem jeszcze łączenia DataSet ze zwykłymi kontrolkami ale podobno można tego dokonać ze zwykłymi. Każda warta jest dobrze wyodrębnione a ja jestem odpowiedzialny i decyduje jak je połączyć. Jest to automat, ale umiarkowany i sterowalny. Natomiast nie mam dobrego zdania o rozwiązaniu Borlanda zastosowanym VCL do baz danych. Są osobne kontrolki to baz danych, kilka komponentów, które trzeba połączyć i można wyświetlać albo edytować dane. To wszystko ładnie wygląda ale na pokazie a budowa realnej aplikacji jest o wiele bogatsza. U Borlanda brak jest dobrze wydzielonych warstw określone za co, która jest odpowiedzialna. > Co do obcego kodu to w przypadku robienia raportow z baz banych jest > to > dobra opcja, przynajmiej ja nie widze siebie robiacego owe raporty w > inny sposob, a moze nie znam sposobu... [...] Faktycznie raporty to osobny problem. Spotkałem się z kilkoma rozwiązaniami i zwykle okazały się nienajlepsze. Dziwnym trafem jakoś obsługa ekranu i UI jest lepiej opanowana od drukarki. A wydawało by się, że interakcja z użytkownikiem jest trudniejsza od beznamiętnego generowania wydruków. Tak mi się wydaje, że być może warto by coś pokombinować z HTML-em. W .NET jest ASP i ciekawe czy by nie dało się zmusić jego do generowanie HTML-a na żądanie aplikacji zamiast serwera WWW. Coś takiego trzeba by łamać na strony i można drukować za pomocą IE. Na pewno dobrą cechą tych raportów była by ich przenośność, itd. -- Pozdrawiam, Marek Janaszewski [ j_m...@gazeta.pl ]
Technical Details
Message-ID:
<c54ogb$olq$1@news.atman.pl>Path:
mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.tpinternet.pl!news.atman.pl!not-for-mailReferences:
<c4bpvb$7e$1@news.onet.pl> <c4sfnb$6ro$1@nemesis.news.tpi.pl> <c4simv$di1$1@news.onet.pl> <c4trq0$b0n$1@nemesis.news.tpi.pl> <c51slh$agk$1@nemesis.news.tpi.pl> <c525oa$24dv$1@news.atman.pl> <c538av$cso$1@atlantis.news.tpi.pl> <c53s4n$1q18$1@news.atman.pl> <c547je$51g$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.tpinternet.pl!news.atman.pl!not-for-mail From: "Marek Janaszewski \(USUN_TO. z adresu!\)" <USUN_TO...@gazeta.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: Juz jest! :) Visual C# Standard :) Date: Thu, 8 Apr 2004 22:04:36 +0200 Organization: ATMAN Lines: 83 Message-ID: <c54ogb$olq$1@news.atman.pl> References: <c4bpvb$7e$1@news.onet.pl> <c4sfnb$6ro$1@nemesis.news.tpi.pl> <c4simv$di1$1@news.onet.pl> <c4trq0$b0n$1@nemesis.news.tpi.pl> <c51slh$agk$1@nemesis.news.tpi.pl> <c525oa$24dv$1@news.atman.pl> <c538av$cso$1@atlantis.news.tpi.pl> <c53s4n$1q18$1@news.atman.pl> <c547je$51g$1@nemesis.news.tpi.pl> NNTP-Posting-Host: staticline702.toya.net.pl Mime-Version: 1.0 X-Trace: news.atman.pl 1081468235 25274 217.113.228.127 (8 Apr 2004 23:50:35 GMT) X-Complaints-To: use...@atman.pl NNTP-Posting-Date: Thu, 8 Apr 2004 23:50:35 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit