dotnetomaniak.pl

dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Sztuka programowania - Strona 36

Notacja węgierska to ZŁOOOOOO! Słychać to ze wszystkich stron i trudno się z tym nie zgodzić. Przedrostki nazw identyfikatorów określające typy takiego identyfikatora nigdy nie były jakimś nowatorskim rozwiązaniem – prędzej protezą. Czy oznacza to jednak, że całość tego pomysłu należy odbierać negatywnie? W mojej opinii nie. A dlaczego - o tym tenże wpis.

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » O dewaluacji węgierskiej notacji, a także o jej nadinterpretacji

Sztuka programowania 1610 dni, 6 godzin, 58 minut temu PaSkol 148 rozwiń

Wracając jeszcze do filozofowania o kodzie, dziś trochę o cechach klas, a dokładniej: pola i właściwości. Zanim wymyślono idee właściwości dostęp do pól odbywał się na dwa sposoby. Pole w klasie (np. name) mogło być publiczne i każdy miotał nim jak szatan, druga opcja to dostęp kontrolowany przez parę metod typu GetName i SetName. Umożliwiały one kontrolowanie tego kto i na jakich zasadach może korzystać z cech wewnętrznych klasy. Później, aby pominąć pisanie GetName/SetName, wymyślono właściwości, któr...

jstadnicki: Czym się różni właściwość klasy od pola klasy?

Sztuka programowania 1610 dni, 6 godzin, 58 minut temu http://jstadnicki.blogspot.... 143 rozwiń

O interfejsach napisano już wiele artykułów. Postaram się dlatego podejść do tego zagadnienia od innej strony. Na początek pytanie: czym różni się metoda wirtualna od implementacji metody z interfejsu? Mogło by się zdawać, że są to bardzo podobne operacje.

Tagi: .Net, C#, interface
Dziel się z innymi:
Programowanie w .NET: O interfejsach raz jeszcze

Sztuka programowania 1612 dni, 1 godzinę, 7 minut temu psz750 196 rozwiń

O zdarzeniach było już wielokrotnie na blogu. Pokazywałem różne sposoby wywołania zdarzeń. Najpopularniejszym chyba sposobem jest poniższy wzorzec:publicclass Person { publicevent EventHandler FirstNameChanged; virtualprotectedvoid OnFirstNameChanged(EventArgs e) { if (FirstNameChanged !=null) FirstNameChanged(this, e); } } Jeśli wielowątkowość wchodzi w grę wtedy lepiej napisać:publicclass Person { publicevent EventHandler FirstNameChanged; virtualprotectedvoid O...

Tagi: C#, events
Dziel się z innymi:
Piotr Zieliński » Wywoływanie zdarzeń za pomocą metod rozszerzających

Sztuka programowania 1613 dni, 7 godzin, 54 minuty temu pzielinski 98 rozwiń

Jak przyjmować i jak zwracać kulturalnie – zastanawialiście się kiedyś na tym? Taki programistyczny savoir-vivre. Jak to zrobić, żeby mi (programiście) było wygodnie, a jednocześnie uszcześliwić przyszłego użytkownika API które tworzymy? Przecież to może być właśnie ja (ja piszący tego bloga)! Sprzedam wam dwie proste reguły (na bank są inne o których nie wiem), które warto zapamiętać lub przynajmniej sie nad nimi zastanowić. Przyjmowany parametr powinien być możliwie wysoko w drzewie dziedziczen...

Dziel się z innymi:
jstadnicki: Przyjemne funkcje

Sztuka programowania 1615 dni, 16 godzin, 46 minut temu http://jstadnicki.blogspot.... 144 rozwiń

Zdarzenia stanowią bardzo wygodny mechanizm monitorowania stanu obiektów. W .NET można spotkać je na każdym kroku. Kontrolki zarówno w WinForms jak i WPF, posiadają wiele zdarzeń, często kilkadziesiąt. Niestety każda deklaracja zdarzenia pochłania zasoby. Nie ma to znaczenia gdy obiekt posiada tylko kilka zdarzeń ale może to być zauważalne dla skomplikowanych klas np. kontrolek w WinForms. Każda kontrolka eksponuje dziesiątki zdarzeń a użytkownicy zwykłe korzystają wyłącznie z kilku – rzadko ma miejsce s...

Tagi: C#, EventHandler
Dziel się z innymi:
Piotr Zieliński » Optymalizacja klas z wieloma zdarzeniami – EventHandlerList

Sztuka programowania 1616 dni, 7 godzin, 57 minut temu pzielinski 119 rozwiń

Kod: sealed class FolderFilesMappings : Dictionary { // brak specyficznej implementacji czy rozszerzen } Powyższy kod przedstawia klasę, która jest wrapperem dla słownika. Rozwiązanie na pierwszy rzut oka wygląda ładnie ale osobiście zastanowiłbym się nad sensem pisania dodatkowej klasy, która tak naprawdę nic nie robi. Klasy powinny zawierać jakieś dane lub logikę. Powyższy fragment nie rozszerza funkcjonalności – wyłącznie daje opisową nazwę i skraca składnie – pisanie za każdym...

Tagi: C#, dictionary
Dziel się z innymi:
Piotr Zieliński » Code review: słowniki i podklasy

Sztuka programowania 1617 dni, 22 godziny, 33 minuty temu pzielinski 157 rozwiń

O modyfikatorze sealed już kiedyś pisałem – dzięki niemu możemy zabronić dziedziczenia po danej klasie:sealedclass SealedClass { } class ChildClass:SealedClass // BLAD{ } Moim zdaniem jest on niedoceniany i zbyt rzadko używany.  Może dlatego, że nie wnosi on nic nowego do funkcjonalności czy łatwości w pisaniu kodu a “jedynie” stanowi ważny element w projekcie oraz w tym, jak inni użytkownicy z takiej biblioteki będą korzystać. Pierwszą zaletą SEALED jest wydajność. Oczywiście w większości przypadkó...

Tagi: C#, sealed
Dziel się z innymi:
Piotr Zieliński » Dlaczego warto używać modyfikatora sealed

Sztuka programowania 1629 dni, 20 godzin, 33 minuty temu pzielinski 239 rozwiń

Dziś trochę o podstawach C# ale myślę, że wszyscy znajdą coś wartościowego w tym wpisie bo chcę pokazać jak to działa od środka CLR. Na początek przykład boxing’u:staticvoid Main(string[] args) { int value =3; object referencedType = value; } Boxing to nic innego jak utworzenie typu referencyjnego na podstawie value type. Object to typ referencyjny przechowywany na stercie, z kolei integer to zwykły value type przechowywany na stosie. Opisowo, boxing składa się z 3 operacji:Alokacja pamięci na s...

Tagi: boxing, C#, unboxing
Dziel się z innymi:
Piotr Zieliński » Boxing oraz unboxing–jak to działa od strony CLR

Sztuka programowania 1633 dni, 5 godzin, 9 minut temu pzielinski 126 rozwiń

Każdy kod można usprawnić / napisać lepiej. Bez wyjątku. Nie ma kodu idealnego (jak już zresztą kiedyś pisałem). Jednak w pewnym momencie trzeba przestać, tzn. nie można dopieszczać w nieskończoność jednego kawałka kodu zaniedbując wszystko dookoła. Ale nie oznacza to, że powinniśmy akceptować każde poplątane ścierwo jakie wyjdzie spod naszych skrzypiących paluchów i mówić "spoko, jest wystarczająco dobrze".

Dziel się z innymi:
Maciej Aniserowicz | Kod "wystarczająco dobry"

Sztuka programowania 1634 dni, 2 godziny, 6 minut temu psz750 252 rozwiń

Rozważmy, następujący kawałek kodu:struct Color { publicstaticexplicitoperator Color(short value) { // jakas tam konwersja - nieistotne dla przykladureturnnew Color {R = value}; } publicshort R, G, B; } Co w nim nie tak? Operatory nie są wspierane przez wszystkie języki. Podczas kompilacji wszystkie operatory zamieniane są na zwykłe metody. Na przykład operator rzutowania implicit zostanie zamieniony na op_Explicit oraz oznaczony  przez CLR specjalnym atrybutem specialname:.class seque...

Dziel się z innymi:
Piotr Zieliński » Code review: operator rzutowania

Sztuka programowania 1636 dni, 5 godzin, 51 minut temu pzielinski 146 rozwiń

Zachęcam do przeczytania kolejnej części, tym razem o LINQ: http://msdn.microsoft.com/pl-pl/library/dobre-i-zle-praktyki-w-c-sharp–czesc-5.aspx

Tagi: Linq
Dziel się z innymi:
Piotr Zieliński » Dobre i złe praktyki w C# – część V (LINQ)

Sztuka programowania 1638 dni, 21 godzin, 1 minutę temu pzielinski 299 rozwiń

Us, devel­op­ers, are a bit like that comic strip (from always great xkcd): We can end­lessly debate over tabs ver­sus spaces (don't even get me started), whether to use optional semi­colon or not, and other seem­ingly irrel­e­vant top­ics. We can have heated, informed debates with a lot of merit, or (much more often) not very con­struc­tive exchanges of opinions. I men­tion that to explic­itly point out, while this post might be per...

Tagi: IoC/DI
Źródło: kozmic.pl
Dziel się z innymi:
[EN] To constructor or to property dependency? | Krzysztof Koźmic on software

Sztuka programowania 1651 dni, 19 godzin, 31 minut temu http://pawlos.blogspot.com/ 86 rozwiń

Implementując w danej klasie kilka interfejsów możemy spotkać się z sytuacją, w której różne interfejsy będą posiadały składowe o tych samych nazwach. A co jeżeli metoda jednego z interfejsów ma inne przeznaczenie niż metoda innego i ich kod powinien być różny? Rozwiązaniem tego problemu jest jawna implementacja interfejsów.

Tagi: .Net, C#, interface
Dziel się z innymi:
Jawna implementacja interfejsów jako rozwiązanie konfliktu nazw « Developer notes

Sztuka programowania 1663 dni, 20 godzin, 5 minut temu psz750 100 rozwiń

Lematyzacja - pojęcie to a oznacza sprowadzenie grupy wyrazów stanowiących odmianę danego zwrotu do wspólnej postaci, umożliwiającej traktowanie ich wszystkich jako te samo słowo. W artykule omówię sposoby lematyzacji słów z języka angielskiego oraz przedstawię przykładową implementację algorytmu.

Dziel się z innymi:
Simple Solutions: [NLP] Stemming i lematyzacja

Sztuka programowania 1664 dni, 22 godziny, 4 minuty temu http://horusiath.blogspot.com/ 249 rozwiń

Kolejna cześć artykułu z cyklu “Dobre i złe praktyki”: http://msdn.microsoft.com/pl-pl/library/dobre-i-zle-praktyki-w-c-sharp–czesc-4.aspx

Dziel się z innymi:
Piotr Zieliński  » Dobre i złe praktyki w C# – część IV (programowanie współbieżne)

Sztuka programowania 1666 dni, 7 godzin, 23 minuty temu pzielinski 106 rozwiń

Kolejna część artykułu z cyklu dobre i złe praktyki. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/dobre-i-zle-praktyki-w-c-sharp–czesc-3.aspx

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Dobre i złe praktyki w C# – część III (programowanie współbieżne)

Sztuka programowania 1667 dni, 9 godzin, 57 minut temu pzielinski 170 rozwiń

Od kilku dni można rejestrować się na darmowe egzaminy z Visual Studio 2012. Oczywiście są to egzaminy w wersji beta. Nie zmienia to jednak faktu, że w przypadku ich zdania otrzymamy pełnoprawny certyfikat. Można wybierać wśród następujących egzaminów....

Dziel się z innymi:
Darmowe certyfikaty Microsoftu

Sztuka programowania 1674 dni, 9 godzin, 26 minut temu http://janosz.myopenid.com/ 886 rozwiń

Niniejsze rozważania zacznę od następującej anegdoty, która doskonale oddaje ich sedno. Pewna mała dziewczynka przyglądała się mamie przygotowującej pieczeń: - Mamo, dlaczego gdy robisz pieczeń, to zawsze odcinasz końcówki mięsa i wkładasz je po bokach brytfanny? - Bo tak się piecze kochanie. - Ale dlaczego tak się piecze? - Końcówki obcina się, aby mięso lepiej się upiekło. - Mamo, ale przecież i bez tego mięso by się upiekło. - Córeczko, twoja babcia tak piekła, ciocia tak piecze i ...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Zawsze jest warto poddać ocenie, co jest konwencją co … przyzwyczajeniem

Sztuka programowania 1675 dni, 15 godzin, 53 minuty temu PaSkol 162 rozwiń

W dzisiejszym temacie poruszę pewien problem na jaki można natknąć się podczas używania kolekcji obiektów typu wartościowego. Aby pokazać o co dokładnie chodzi zacznijmy od zdefiniowania przykładowej klasy opisującej prostokąt.

Tagi: .Net, C#, indeksator
Dziel się z innymi:
Indeksatory a kolekcje obiektów typu wartościowego « Developer notes

Sztuka programowania 1678 dni, 2 godziny, 31 minut temu psz750 309 rozwiń

1 2... 34 35 36 37 38
Szkolenia SecurITum

kwiecień

03.
4developers
Warszawa
22.
GET.NET
Łódź

maj

17.
InfoShare
Gdańsk
Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 564,45)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 383,88)

8

Damian (9 031,08)

9

danielplawgo (7 235,99)

10

arek (6 807,9)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 498,06)

15

jedmac (3 298,38)

16

http://jakub-flor... (3 224,66)

17

CaMeL (2 954,87)

18

spetz (2 628,16)

19

mnikolajuk (2 596,93)

20

FutureProcessing (2 550,11)