Strona głównaUżytkownik

arek | użytkownik

arek
arek
6 837,96
388 dni, 8 godzin, 2 minuty temu
9 sierpnia, 2010
dotnetomaniak.pl

Dziś kolejny post o kolekcjach, które mogą być używanie swobodnie w środowisku współbieżnym. Tak jak ConcurrentBag, obiekty przedstawione w tym poście również są mocno zoptymalizowane. ConcurrentQueue to po prostu kolejka.

Dziel się z innymi:
Wielowątkowe ConcurrentQueue oraz ConcurrentStack

Programowanie rozproszone 4522 dni, 17 godzin, 13 minut temu pzielinski 121 źrodło rozwiń

Jeśli jeszcze nie jesteś przekonany do potrzeby profesjonalizmu to najwyższa pora zapoznać się z poniższym wywiadem z Robertem C. Martinem. A jeśli nie wiesz kim jest Robert C. Martin to najwyższa pora zapoznać się z jego opiniami na temat programowania, TDD i profesjonalizmu w programowaniu.

Tagi: inne
Źródło: www.benedykt.net
Dziel się z innymi:
Wywiad z Robertem C. Martinem – Uncle Bobem | @rek online | Arkadiusz Benedykt

Inne 4522 dni, 17 godzin, 13 minut temu arek 142 źrodło rozwiń

Jest już nowe Visual Studio – chyba każdy o tym wie. Pierwsza rzecz, od której bolą (mnie) zęby to duże litery w menu. To tak jak by Visual cały czas na mnie krzyczął. Więc jeśli nie podoba Ci się default:   I wolisz tak: To wystarczy dodać w rejestrze: HKCU\Software\Microsoft\VisualStudio\11.0\GeneralSuppressUppercaseConversion DWord o wartości 1 Link do odpowiedniego Connect-a, może zmienią to do RTM-a http://connect.microsoft.com/VisualStudio/feedback/details/745676/capital-uppercase-me...

Źródło: www.benedykt.net
Dziel się z innymi:
Duże litery w menu głównym Visual Studio 2012 | @rek online | Arkadiusz Benedykt

Narzędzia 4531 dni, 11 godzin, 23 minuty temu arek 222 źrodło rozwiń

Spacje czy tab-y lub tabulatory do wciec. Nad tym pytaniem zmarnowano wiele energii. Sprawdźmy zatem jakie są wasze preferencje w tej materii. Zapraszam do ankiety a za kilka dni sprawdzimy co z tego wyszło

Tagi: ankieta
Źródło: www.benedykt.net
Dziel się z innymi:
Spacje vs tabulatory, oddaj głos w tej sprawie

Inne 4542 dni, 16 godzin, 31 minut temu arek 234 źrodło rozwiń

Zasada Common Reuse Principle mówi, że klasy w pakiecie/assembly są ponownie używane wspólnie. Jest to konsekwencja Reuse Release Equivalence Principle z której wynika, że klient posiada referencje do całej biblioteki a nie pojedynczej klasy. Z tego zaś wynika, że jeżeli polega na jednej klasie (wykorzystuje jedną klasę)  to może wykorzystywać wszystkie. W końcu publikując bibliotekę nie jesteśmy wstanie określić z których klas będzie ktoś używał (chyba że umieścimy tam jedną publiczną klasę ). To wsz...

Źródło: www.benedykt.net
Dziel się z innymi:
Common Reuse Principle–czyli jeśli używasz jednej klasy to używasz wszystkich | @rek online | Arkadiusz Benedykt

Architektura 4542 dni, 16 godzin, 31 minut temu arek 143 źrodło rozwiń

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 4547 dni, 23 godziny, 23 minuty temu arek 85 źrodło 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 4550 dni, 15 godzin, 15 minut temu arek 116 źrodło 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 4550 dni, 15 godzin, 15 minut temu arek 258 źrodło 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 4559 dni, 7 godzin, 32 minuty temu PaSkol 180 źrodło 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 4559 dni, 4 godziny, 49 minut temu arek 210 źrodło 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 4559 dni, 4 godziny, 49 minut temu arek 242 źrodło 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 4564 dni, 16 godzin, 20 minut temu arek 270 źrodło 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 4566 dni, 7 godzin, 50 minut temu arek 196 źrodło 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 4565 dni, 7 godzin, 3 minuty temu pzielinski 209 źrodło 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 4568 dni, 9 godzin, 11 minut temu arek 99 źrodło 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 4569 dni, 23 godziny, 16 minut temu arek 227 źrodło 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 4580 dni, 12 godzin, 36 minut temu Paweł Łukasik 221 źrodło 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 4572 dni, 15 godzin, 31 minut temu http://krzysztofmorcinek.wo... 207 źrodło 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 4575 dni, 6 godzin, 59 minut temu pzielinski 273 źrodło 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 4574 dni, 13 godzin, 46 minut temu psz750 391 źrodło rozwiń

1 2... 4 5 6 7 8 9 10 11