dotnetomaniak.pl

dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Inne - Strona 35

Wczoraj mówiliśmy o tym, że funkcja powinna wykonywać jedną rzecz. Świetnym papierkiem lakmusowym jest nazwa funkcji. Jeśli można łatwo nadać jej nazwę i nie zawiera spójników typu i, lub, albo, oraz (lub ich odpowiedników w j. angielskim ) to jesteśmy na dobrej drodze. Funkcje, które wykonują kilka czynności są wprowadzają po prostu w błąd.A co z klasami? Single Responsibility Principle mówi, że klasa powinna mieć jedną odpowiedzialność, powinna mieć jeden powód do zmiany. Takie podejście powoduje, że...

Single Responsibility Principle

Inne 1788 dni, 20 godzin, 24 minuty temu arek 220 rozwiń

Pytanie brzmi: czy metody statyczne są wydajniejsze niż ich “zwykłe” odpowiedniki (instance methods)? Odpowiedź brzmi tak, ponieważ:Wywołanie jakiejkolwiek niestatycznej metody na klasie powoduje przekazanie parametru “this” – a to wymaga dodatkowego czasu.Same wywołanie jest bardziej czasochłonne dla zwykłych metod. W klasach statycznych nie ma dziedziczenia i wirtualnych metod. W niestatycznych metodach, kompilator musi dokonać kilka  dodatkowych operacji. Każda metoda niestatyczna jest wywoływana za p...

Tagi: C#, static
Dziel się z innymi:
Piotr Zieliński » Statyczne metody – wydajność

Inne 1789 dni, 22 godziny, 48 minut temu pzielinski 237 rozwiń

Niniejszy post jest 200-tną notatką na blogu.... Tak zacna i okrągła okazja zostaje niniejszym wykorzystana jako pierwszy z cyklu postów o podstawach programowania. Jednak nie mam zamiaru opisywać poszczególnych konstrukcji językowych ani też kolejnych bibliotek, nie będę również mówił o efektywnych algorytmach. Pisał będę o tym jak pisać aplikacje aby można było je długo i efektywnie rozwijać. Przejdę po zasadach SOLID (ale nie tylko tych 5 podstawowych), przejdę po TDD oraz kilku innych aspektach, któr...

Źródło: www.benedykt.net
Dziel się z innymi:
Podstawy programowania ale troche inaczej

Inne 1790 dni, 4 godziny, 26 minut temu arek 186 rozwiń

O wzorcu projektowym singleton napisałem już kiedyś sporawy post. Klasy statyczne są prostym mechanizmem i mogą przypominać singleton. Tak jak w singleton, w klasach statycznych mamy do dyspozycji wyłącznie jedną instancję obiektu. Również nie ma możliwości ręcznego stworzenia instancji obiektów. Czym się zatem te twory różnią? 1. Singleton może implementować interfejs lub dziedziczyć po bazowej klasie. Jest to poważna zaleta w stosunku do klasy statycznej. Dzięki temu można np.:class XnaRenderer: IRend...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Singleton a klasy statyczne

Inne 1792 dni, 6 godzin, 14 minut temu pzielinski 234 rozwiń

Rozważmy następujący. Co jest największym problemem tego kodu? Wszystkie przykłady wymyślam na bieżąco dlatego oprócz głównego problemu, który chce zaprezentować w poście, istnieje kilka pobocznych.

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Code review: lista danych

Inne 1794 dni, 4 godziny, 7 minut temu pzielinski 273 rozwiń

W tym wpisie opiszę od A do Z jak zrobić grę kółko krzyżyk w postaci graficznej aplikacji. Użytkownik będzie miał możliwość gry z komputerem na różnych poziomach „inteligencji”. Całość opakujemy w ładne GUI, użytkownik będzie mógł sterować grą za pomocą myszki. Taki program może być dobrym ćwiczeniem dla początkujących koderów – których serdecznie zapraszam do lektury. GUI Na początek wstawię screeny napisanego przeze mnie programu. Ma to wam przybliżyć efekt, do którego będziemy dąż...

Źródło: kodzimy.net
Dziel się z innymi:
Gra Kółko i Krzyżyk w C# | kodzimy.net

Inne 1797 dni, 13 godzin, 28 minut temu kodzimy-net 870 rozwiń

W c# słowo kluczowe nie służy wyłącznie do alokacji zasobów. W klasach istnieje koncepcja wirtualnych metod, które deklaruje się za pomocą słowa virtual. Są to podstawy polimorfizmu więc w tym poście nie będę opisywał już słówka virtual a wyłącznie new, które używa się również w połączeniu z metodą. Metoda oznaczona new po prostu przykrywa metodę bazową. Najlepiej wyjaśnić to na przykładzie 2 klas:class Cat:Animal { publicvoid Print() { Console.WriteLine("Cat"); } } class Animal { pub...

Dziel się z innymi:
Piotr Zieliński » Method hiding w c# – kiedy używać?

Inne 1797 dni, 13 godzin, 28 minut temu pzielinski 253 rozwiń

Dzisiaj będzie krótko, bo zajęty jestem i więcej czytam niż piszę. Także taka krótka refleksja: Każdy wie, że koszta trzeba minimalizować. Uważam jednak, że istnieje pewna granica tych ograniczeń. Zastanówmy się pracujecie z jakimś narzędziem i jest spoko, robi to czego się od niego oczekuje. Ale moglibyście pracować z innym, za które trzeba zapłacić i nie są to jakieś groszowe sprawy. Kwota którą pracodawca płaci nam to też nie są grosze, a kwota którą otrzymuje za naszą pracę od docelowego klienta...

Dziel się z innymi:
jstadnicki: Cena / wydajność

Inne 1799 dni, 9 godzin, 44 minuty temu http://pawlos.blogspot.com/ 221 rozwiń

Immutable objects to obiekty w inżynierii oprogramowania, które pozostają niezmienne po ich inicjalizacji. Wszystkie typy numeryczne, struktury oraz inne value type są immutable. Istnieją również klasy, które zachowują się jak typy niezmienne. Spróbujmy opisać kilka ważnych cech tych obiektów, które mają dla nas specjalne znaczenie:Obiekty niezmienne (immutable) są thread-safe – przystosowane są do dostępu współbieżnego. Skoro obiekt już skonstruowany nie może zostać zmodyfikowany to nie musimy się kompl...

Dziel się z innymi:
Piotr Zieliński » Obiekty niezmienne – immutable objects

Inne 1800 dni, 13 godzin, 14 minut temu pzielinski 253 rozwiń

Programując, wcześniej czy później będziemy zmuszeni nauczyć się obsługi zdarzeń (events). Opisując program z laborek wyjaśnię jak korzystać ze zdarzeń według wzorca .NETu. Zdarzenia Początkujący programiści mogą nie wiedzieć czym są zdarzenia, ale zapewne ich używają. Bo czy nie zdarzyło się komuś wpisać fragmentu kodu do Form1Load(…) lub button1Click(…)? Podejrzewam, że takich osób jest niewiele. Tak jak w życiu codziennym, tak i w programowaniu są pewne zdarzenia na które musimy odpow...

Tagi: C#, events, zdarzenia
Źródło: kodzimy.net
Dziel się z innymi:
Zdarzenia w C# | kodzimy.net

Inne 1804 dni, 2 godziny, 53 minuty temu kodzimy-net 214 rozwiń

Tak jak napisałem w poprzednim poście: termin terminem, ale dzień w jedną czy w drugą stronę nikogo nie zbawi. A może mieć nieocenione efekty jeżeli chodzi o stosunek programistów do pracy, o zadowolenie z wykonywanych zadań, o zaangażowanie w projekt. Dzisiaj - obiecane "real life" przykłady. Mam takowe póki co trzy, ale w sumie jak na kwartał pracy daje to całkiem niezłą "średnią innowacyjności". Od razu pytanie: jak taka "średnia" wygląda u Was w firmie? I do rzeczy...

Dziel się z innymi:
Maciej Aniserowicz | Zawód-team leader. Mój najważniejszy obowiązek. Przykłady z życia.

Inne 1805 dni, 21 godzin, 42 minuty temu http://pawlos.blogspot.com/ 244 rozwiń

Hej, wzięło mi się na przetestowanie rzeczywistej wydajności owej funkcji. Jeszcze produkcyjnie nie używałem jej więc postanowiłem użyć jej praktycznie w teście.

Dziel się z innymi:
Parallel.For testowanie « Netmajor's Tech Blog

Inne 1809 dni, 19 godzin, 55 minut temu netmajor 123 rozwiń

Słowo var zostało wprowadzone w .NET 3.5, prawdopodobnie ze względu na LINQ i anonimowe typy. Jedni programiści za wszelką cenę unikają tego słowa kluczowego a drudzy zapomnieli o typach i zawsze korzystają var bo w końcu to nowy feature… Nawet Resharper sugeruje aby zawsze używać var ponieważ skraca to składnie. Istnieje też spora trzecia grupa do której m.in. ja należę i postaram się pokazać kilka przykładów. Moja zasada jest prosta – używam var tylko jeśli w momencie deklaracji można wywnioskować typ...

Tagi: C#, var
Dziel się z innymi:
Piotr Zieliński » Kiedy używam var?

Inne 1811 dni, 8 godzin, 59 minut temu pzielinski 367 rozwiń

W kolejnym artykule chciałbym przedstawić podstawy pisania usług sieciowych w WCF (Windows Communication Foundation) oraz łączenia ich z aplikacją klienta. Wszystko omówię na przykładzie bardzo prostego przykładu. Stworzę prosty kalkulator, który będzie umożliwiał dodawanie, odejmowanie, mnożenie i dzielenie dwóch liczb. Zaczynamy!

Źródło: kodzimy.net
Dziel się z innymi:
Twoja pierwsza usługa WCF w C# | kodzimy.net

Inne 1811 dni, 8 godzin, 59 minut temu kodzimy-net 629 rozwiń

"Firma" organizuje programistom warunki pracy. Środowisko. Sprzęt. Oprogramowanie. Kawkę/herbatkę/whateva. Na ten temat się jeszcze pewnie kiedyś "rozwinę". A co najważniejsze, ten abstrakcyjny byt - "firma" - programistom PŁACI. A ja, jako team leader? Co ja mogę zrobić? Co POWINIENEM robić? Dumałem nad tym dość sporo i wydaje mi się, że po dobrych kilku tygodniach refleksji sformułowałem idealne podsumowanie roli team leadera. A przynajmniej takiego team leadera, do którego ja chciałem trafić, wyobraża...

Dziel się z innymi:
Maciej Aniserowicz | Zawód-team leader. Mój najważniejszy obowiązek.

Inne 1812 dni, 5 godzin, 24 minuty temu http://pawlos.blogspot.com/ 206 rozwiń

Uhu, dawno nie pisałem. Już już,  nie płaczcie. Dlaczego warto rozmawiać, pytać, poprawiać i pokazać komuś swój kod? Najtrudniej jest znaleźć swoje błędy, trudno jest spojrzeć na swój kod i zapytać się "czemu zrobiłem to tak - a nie w inny sposób?". Skoro wszystko działa tak jak założyłem na początku to znaczy, że jest dobrze i refaktoryzacja jest nie potrzebna. Jeśli się uruchamia, działa i nie wywala to po co mi napisać testy. I w końcu skoro się tyle namęczyłem na tym wszystkich, użyłem całej swojej...

Dziel się z innymi:
jstadnicki: Dlaczego warto rozmawiać (o kodzie)

Inne 1813 dni, 1 godzinę, 47 minut temu http://pawlos.blogspot.com/ 202 rozwiń

W kilku miejscach spotkałem się z błędną definicją CopyTo oraz Clone.  W przeciwieństwie do niektórych opinii, obydwie metody wykonują shallow copy. Jak wiemy w c# mamy reference oraz value types. Podczas płytkiego kopiowania, typy value po prostu klonowane są bit po bicie. W przypadku typów referencyjnych, wyłącznie adres jest kopiowany, nie wartość. Zatem po skopiowaniu typu referencyjnego będziemy mieli dwa wskaźniki, wskazujące na te same dane. Przykład:SampleClass[] array =new SampleClass[] {sampleC...

Tagi: array, C#
Dziel się z innymi:
Piotr Zieliński » Array.CopyTo vs. Array.Clone

Inne 1813 dni, 1 godzinę, 47 minut temu pzielinski 155 rozwiń

Zgodnie z obietnicą dziś napiszę trochę więcej o rzutowaniu, wydajności oraz dobrych praktykach. Muszę przyznać, że w jednej kwestii miałem nieprawdziwe informacje (znalezione gdzieś na forum) których byłem pewien ponieważ napisałem prosty program sprawdzający wydajność – jak na końcu pokażę popełniłem błąd podczas mierzenia wydajności spowodowany kompilacją JIT. Na początku trochę przypomnienia: 1. Rzutowanie prefiksowe – najpopularniejszy typ znany np. z CPP. int value = (int)boxedValue; Można wyk...

Tagi: C#, rzutowanie
Dziel się z innymi:
Piotr Zieliński » Wydajność: Porównanie operatorów as, is oraz rzutowania bezpośredniego (prefiksowego)

Inne 1818 dni, 14 godzin, 2 minuty temu pzielinski 228 rozwiń

Bardzo często się zdarza, że używana przez nas wartość nie jest dogodnego dla nas typu. Co zrobić gdy chcemy dodać do siebie dwie liczby, a jedyne co mamy to ciągi znaków? W tym artykule zajmiemy się właśnie tym zagadnieniem. Istnieją cztery zasadnicze rodzaje konwersji: -konwersja niejawna(implicit) -konwersja jawna(explicit, casts) -konwersje użytkownika -konwersja poprzez klasę pomocniczą Konwersja niejawna Dla tego przypadku konwersja odbywa się bez wiedzy użytkownika. Używan...

Źródło: kodzimy.net
Dziel się z innymi:
Konwersja typu w C# | kodzimy.net

Inne 1818 dni, 14 godzin, 2 minuty temu kodzimy-net 172 rozwiń

Co powiedzie na taki fragment kodu?FileInfo fileInfo; if (sender is FileInfo) fileInfo = sender as FileInfo; Konstrukcja jest dość popularna i: - oczywiście skompiluje się, - jest bezpieczna na wartość NULL (tzn. nie wyrzuci wyjątku), - jeśli sender jest innego typu niż FileInfo, kod nie wyrzuci wyjątku. Co jest w końcu nie tak? Chodzi tutaj o good practice i nie wprowadzanie czytelnika kodu w błąd. Operator is sprawdza czy obiekt jest danego typu. Zatem w instrukcji IF wiemy już,  że sender ...

Tagi: C#, review
Dziel się z innymi:
Piotr Zieliński » Code review: rzutowanie

Inne 1819 dni, 34 minuty temu pzielinski 215 rozwiń

1 2... 33 34 35 36 37 38... 82 83
Szkolenia SecurITum

kwiecień

03.
4developers
Warszawa
22.
GET.NET
Łódź
26.
CodeEurope
Kraków
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 041,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 653,17)

19

mnikolajuk (2 596,93)

20

lkurzyniec (2 560,56)