dotnetomaniak.pl

Strona głównaUżytkownik

arek | użytkownik

arek
arek
2 489,46
3 dni, 11 godzin, 49 minut temu
9 sierpnia, 2010
dotnetomaniak.pl

Sporo czasu poświęciłem na elektronikę i mimo tego, że nie byłem i nie jestem przesadnie pedantyczny to tranzystory i rezystory zawsze miałem uporządkowane w klasterach z posklejanych pudełek po zapałkach lub woreczkach strunowych. Takie postępowanie powodowało, że zawsze wiedziałem gdzie szukać tego jednego rezystora, który właśnie potrzebowałem. Takie segregowanie nie ma znaczenia przy 10-20-50 elementach, można to jeszcze ogarnąć jednak przy 100 i więcej zaczyna być problemem. Dokładnie to samo dzieje...

Źródło: www.benedykt.net
Dziel się z innymi:
Common Closure Principle – czyli o coś porządkowaniu | @rek online | Arkadiusz Benedykt

Architektura 2 godziny, 12 minut temu arek 39 rozwiń

W poprzednich częściach przeszliśmy przez zasady SOLID. S – Single Responsibility Principle (oraz cz. 2) O – Open Close Principle (oraz cz. 2) L – Liskov Substitution Principle I – Inversion Segregation Principle D – Dependency Inversion Principle Słowo SOLID bardzo dobrze odzwierciedla to, do czego te zasady prowadzą czyli do budowania solidnego kodu. Przez solidny kod rozumiem taki, który jest łatwy w modyfikacji i który szybko można dostosować do zmieniających się wymagań. Nie są to jednak wszy...

Źródło: www.benedykt.net
Dziel się z innymi:
Reuse Release Equivalence Principle czyli  dlaczego nie kopiujemy kodu | @rek online | Arkadiusz Benedykt

Architektura 2 godziny, 12 minut temu arek 64 rozwiń

Wyobraźmy sobie taką sytuację: jest sklep internetowy, podczas składania zamówienia system wylicza rabat – przy zamówieniach 500-1000 zł 5%, powyżej 1000 zł 10%, powyżej 5000 dodatkowo darmowa przesyłka. Brzmi znajomo?

Źródło: www.benedykt.net
Dziel się z innymi:
Open Close Principle czyli jak zarobić ale się nie narobić. | @rek online | Arkadiusz Benedykt

Architektura 2 godziny, 12 minut temu arek 123 rozwiń

Zasada odwracania zależności głosi, że moduły wysokopoziomowe nie powinny zależeć od modułów niskopoziomowych. Obie grupy modułów powinny zależeć od abstrakcji. Innymi słowy abstrakcje nie powinny zależeć od szczegółowych rozwiązań, to one (rozwiązania) powinny zależeć od abstrakcji. Użyte w treści reguły pojęcie abstrakcji należy interpretować jako klasę abstrakcyjną lub interfejs. Jak widać pozostaje tutaj swoboda wyboru jednego z tych dwóch bytów...

Tagi: .Net, SOLID
Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Tylko interfejs! Nie, bo abstrakcja! Dokąd prowadzi dyskryminacja.

Architektura 5 dni, 2 godziny, 39 minut temu PaSkol 157 rozwiń

Jestem fanem interfejsów jak to wcześniej już pisałem, zatem dzisiaj będzie temat łatwy i przyjemny o interfejsach właśnie. W sam raz na ciężki po długo weekendowy poniedziałek. Interface Segregation Principle mówi, że klient nie powinien być zmuszany do implementowania interfejsów, których nie używa. Z tego wynika, że interfejs powinien być minimalistyczny lub po prostu możliwie chudy. Idealnie by było, gdyby miał jedną metodę a poważnie, można by tutaj parafrazować Single Responsibility Principle i p...

Tagi: SOLID
Źródło: www.benedykt.net
Dziel się z innymi:
Interface Segregation Principle czyli interfejs powinien być jak modelka–przeraźliwie chudy | @rek online | Arkadiusz Benedykt

Architektura 4 dni, 23 godziny, 56 minut temu arek 177 rozwiń

Od młodego uczą nas, że każdy kwadrat jest prostokątem. Później uczymy się programować i zaczyna się tragedia. Matematycznie kwadrat jest specyficznym  przypadkiem prostokąta programistycznie już nie bardzo.

Kwadrat jest prostokątem czyli Liskov Substitution Principle (LSP) | @rek online | Arkadiusz Benedykt

Architektura 4 dni, 23 godziny, 56 minut temu arek 139 rozwiń

… na szczęście nie przez wszystkich. Intencją niniejszej serii jest przedstawienie podstaw programowania w trochę inny sposób, dlatego mówiąc najbardziej niedoceniana umiejętność w domyśle tyczy się to początkujących. Starsi albo sami dotarli do odpowiedniej wiedzy albo życie ich nauczyło. Jak wyglądają pierwsze kroki w programowaniu? Po opanowaniu pętli for i foreach, ifów i caseów, Console.WriteLineów oraz tych wszystkich klas i obiektów i nie zapominając o polimofizmach wielu rzuca się w wir poznawan...

Tagi: architektura
Źródło: www.benedykt.net
Dziel się z innymi:
Architektura czyli jedna z najbardziej niedocenianych umiejętności | @rek online | Arkadiusz Benedykt

Architektura 10 dni, 11 godzin, 28 minut temu arek 236 rozwiń

Po Single Responsiblity Principle najważniejsza (moim zdaniem) zasada programowania obiektowego – Dependency Inversion Principle. Mówi ona, że obiekty powinny być zależne od abstrakcji a nie od konkretnej klasy. A po ludzku, w żadnej definicji funkcji i w żadnej deklaracji zmiennej nie powinniśmy używać nazwy klasy. Zamiast tego powinniśmy używać interfejsy albo klasy abstrakcyjne czyli zamiast private IPerson _owner; public bool ValidateOwner(IPerson personToValidate) { //..... } piszemy private IPe...

Dependency Inversion Principle – czyli co powinno zależeć od czego | @rek online | Arkadiusz Benedykt

Architektura 12 dni, 2 godziny, 57 minut temu arek 105 rozwiń

W c# 5.0 dodano dwa nowe atrybuty: CallerMemberName oraz CallerFilePath. Można je stosować do domyślnych parametrów metod:staticprivatevoid Print([CallerMemberName]string methodName =null, [CallerFilePath]string fileName =null) { Console.WriteLine(methodName); Console.WriteLine(fileName); } Wywołanie powyższej metody bez podania argumentów spowoduje przekazaniem nazwy metody, która wywołała Print oraz ścieżki pliku w którym znajduje się ta metoda:Print(); Jeśli Print został wywołany w metodzie ...

Tagi: atrybuty, C#
Dziel się z innymi:
Piotr Zieliński » C# 5.0: Atrybuty CallerMemberName, CallerFilePath oraz implementacja interfejsu INotifyPropertyChanged

Inne 11 dni, 2 godziny, 10 minut temu pzielinski 139 rozwiń

Wczoraj mówiliśmy o single responsibility principle (SRP) czyli o zasadzie pojedynczej odpowiedzialności. Jest to zasada, która moim zdaniem najwięcej zmienia w dotychczasowych przyzwyczajeniach programistycznych. Na początku jest trochę męcząca ponieważ zgodnie z nią w klasie nie powinniśmy tworzyć innych obiektów.Jak to? Nie mogę używać słowa kluczowego new? Nie mogę tworzyć obiektów? No właściwie to nie. Jeżeli chcesz w klasie tworzyć obiekty to to już jest odpowiedzialność. Wiec klasa nic poza tworz...

Tagi: SOLID, SRP
Źródło: www.benedykt.net
Dziel się z innymi:
Single Responsibility Principle – ciąg dalszy

Architektura 14 dni, 4 godziny, 18 minut temu arek 77 rozwiń

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 15 dni, 18 godzin, 23 minuty temu arek 173 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 26 dni, 7 godzin, 43 minuty temu http://pawlos.blogspot.com/ 219 rozwiń

Technology radar jest to zbiór przemyśleń nad technologiami i trendami przyszłości (tej całkiem bliskiej) powstały w ThoughtWorks. Firmuje go swoim nazwiskiem (pośród wielu innych nieznanych mi ) Martin Fowler.

Technology Radar | Show me the code

Narzędzia 18 dni, 10 godzin, 38 minut temu http://krzysztofmorcinek.wo... 202 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 21 dni, 2 godziny, 6 minut temu pzielinski 267 rozwiń

Posted by mndevnotes W .NET 4 pojawiła się nowa klasa System.Lazy. Opakowuje ona obiekt danego typu, dzięki czemu jego inicjalizacja następuje dopiero w momencie pierwszego użycia.

Tagi: .NET 4.0, C#
Dziel się z innymi:
Leniwa inicjalizacja obiektów – klasa Lazy « Developer notes

Windows 20 dni, 8 godzin, 53 minuty temu psz750 339 rozwiń

W zeszły czwartek opublikowałem post pod tytułem “Warsztat czyli moje narzędzia pracy”. Opisałem narzędzia, które są dla mnie obecnie najbardziej przydatne. Jednak nie są to wszystkie narzędzia dlatego poniżej zamieszczam listę sporadycznie używanych ale takich, które spełniają swoją role i mogą się przydać również Tobie:Notepad2 jak dla mnie perfekcyjny zamiennik notatnika systemowego. Ma numerowanie linii i kolorowanie składni (dodatkowo czas używam również jako narzędzia do konwersji pomiędzy różnymi...

Źródło: www.benedykt.net
Dziel się z innymi:
Warsztat czyli moje narzędzia pracy cz. 2

Narzędzia 16 dni, 20 godzin, 47 minut temu arek 288 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 17 dni, 2 godziny, 25 minut temu arek 178 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 19 dni, 4 godziny, 13 minut temu pzielinski 225 rozwiń

Każdy programista ma swoją listę ulubionych narzędzi – takich jakie sprawdzają się w codziennej pracy. Warto poznać czego używają inni dlatego zachęcam do opisania swojego. Poniżej mój warsztat (na dzień dzisiejszy), który wygląda następująco (w kolejności zwiększenia komfortu pracy i produktywności):NCrunch dodatek do Visual Studio do Continious Testing. Dodatek ten dział w tle i jeśli tylko może, to kompiluje kod i uruchamia testy jednostkowe. Efekt jest taki, że przestając pisać nawet na kilka sekun...

Źródło: www.benedykt.net
Dziel się z innymi:
Warsztat czyli moje narzędzia pracy

Narzędzia 22 dni, 11 godzin, 11 minut temu arek 446 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 24 dni, 11 godzin, 27 minut temu pzielinski 251 rozwiń

1 2 3 4 5 6
Code of duty 2

Podsumowanie #5 - tydzień 2...

Kolejne podsumowanie tygodnia w polskiej blogosferze. Tym razem sporo wpisów o wzorcach projektowych i dobrych rozwiązaniach do stosowania w kodzie. Zapraszam do lektury.  czytaj więcej
2012-05-20

Najaktywniejsi

1

macko (32 502,49)

2

gordon_shumway (21 208,87)

3

http://pawlos.blo... (20 871,58)

4

paduda (20 280,32)

5

pzielinski (15 980,87)

6

Damian (9 051,08)

7

danielplawgo (7 235,99)

8

CaMeL (3 054,87)

9

http://jakub-flor... (3 049,65)

10

lukaszgasior (2 938,35)

11

arek (2 489,46)

12

mnikolajuk (2 428,92)

13

netmajor (2 157,79)

14

fones (2 090,35)

15

premium-hands-net (1 665,19)

16

poniat (1 580,2)

17

ada_man (1 530,6)

18

https://me.yahoo.... (1 499,21)

19

tmalesza (1 495,26)

20

lkurzyniec (1 474,29)