dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Architektura - Strona 23

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 4545 dni, 6 godzin, 1 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 4550 dni, 12 godzin, 54 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 4553 dni, 4 godziny, 45 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 4553 dni, 4 godziny, 45 minut temu arek 258 źrodło rozwiń

Postanowiłem poruszyć kwestię zasady oddzielania poleceń od zapytań. Pisał o niej ostatnio Piotr Zieliński. Cóż to takiego te „polecenia” i „zapytania”? Ujmując to zagadnienie bardzo ogólnie można powiedzieć, że cechy charakteryzujące klasę dzielą się na polecenia i zapytania. Pierwsze z nich służą do modyfikowania obiektu, drugie do uzyskiwania o nim informacji...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Na dwa rodzaje metod rozbita klasa: poleceń oraz zapytań.

Architektura 4553 dni, 4 godziny, 45 minut temu PaSkol 124 źrodło rozwiń

Dziś znów powrót do podstaw inżynierii oprogramowania. Przedstawianie podstawowej zasady może wydawać się śmieszne ale mimo wszystko programista dobrze jak wie, że taka zasada ma swoją nazwę i naprawdę powinno się tego przestrzegać.  Za pewne wiele programistów nie zna nazw tych reguł ale i tak postępuje zgodnie z nimi. Post ma jednak uświadomić, że takie praktyki są dobrze udokumentowane i są na naprawdę dobrym zwyczajem a nie tylko intuicją doświadczonego programisty. Wzorzec dotyczy konstrukcji metod...

Tagi: CQS
Dziel się z innymi:
Piotr Zieliński » Zasada Command-query separation (CQS)

Architektura 4556 dni, 5 godzin, 37 minut temu pzielinski 317 źrodło rozwiń

Posted by slanto on Zastosowanie wzorca Decorator na przykładzie produktu i ofert specjalnych. Wzorzec ten pozwala nam na dynamiczną zmianę/rozszerzanie zachowania istniejących klas.

Dziel się z innymi:
Decorator Pattern | Zapiski programisty .net

Architektura 4557 dni, 5 godzin, 41 minut temu http://slanto.myopenid.com/ 290 źrodło rozwiń

Piotr Zieliński na swoim blogu rozważał zasadność redefiniowania przez klasy dziedziczące metod z klas dziedziczonych (przy pomocy modyfikatora new), warto zapoznać się z tym wpisem przed kontynuowaniem lektury niniejszego tekstu. Na zakończenie Piotr poprosił o podanie innych, od przestawionych przez niego, powodów, na zasadność użycia modyfikatora new. Oto jeden z nich...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Co jest zasadnym powodem, by przekabacić metodę

Architektura 4560 dni, 1 godzinę, 51 minut temu PaSkol 160 ź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 4561 dni, 18 godzin, 20 minut temu arek 210 źrodło rozwiń

W obecnym czasie, z bardzo rozwiniętymi środowiskami programistycznymi, takimi jak choćby Visual Studio, czy też Eclipse, bardzo łatwo jest rozpocząć swoją przygodę z programowaniem, które w tym przypadku czasem bardziej przypomina zabawę z klockami, niż rzeczywiste . Jednak nastawiając się na bezmyślne składanie klocków, szybko można obudzić się z przysłowiową , w sytuacji gdy zajdzie potrzeba modyfikacji lub rozszerzenia tak radośnie tworzonego kodu, a warto zaznaczyć, że nieumiejętnie sklejony kod mo...

Dziel się z innymi:
C# - Interfejsy które warto znać  - Alt Control Delete

Architektura 4561 dni, 18 godzin, 20 minut temu Yuras 475 źrodło rozwiń

To jest mój pierwszy post, ale od czegoś trzeba zacząć. Wybacz więc niedociągnięcia :). Na pierwszy temat rzucam porównanie wydajności kilku bibliotek (framework'ów) do wstrzykiwania zależności (Dependency Injection), które jest częścią paradygmatu odwróconego sterowania (Inversion of Control) - więcej można przeczytać tutaj. Ostatnio przeczytałem, że znaczna większość programistów korzysta z tych dobrodziejstw. Niby dobrze, o ile wiemy z czym mamy do czynienia. Część bibliotek jest przeładowana ...

Dziel się z innymi:
Sławomir Bryś: Porównanie IoC

Architektura 4561 dni, 18 godzin, 20 minut temu http://slawomirbrys.blogspo... 387 ź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 4561 dni, 18 godzin, 20 minut temu arek 242 ź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 4561 dni, 21 godzin, 3 minuty temu PaSkol 180 źrodło rozwiń

W wielu publikacjach service locator podawany jest jako wzorzec projektowy, doskonale nadający się do implementacji inversion of control. W poście jednak chciałbym przedstawić drugą szkołę, która uważa, że ten wzorzec jest “brzydki” i powoduje ogromne zamieszanie. Przede wszystkim odpowiedzmy sobie kiedy używamy podejścia IoC? W aplikacjach tymczasowych? Prototypach? Raczej nie… Początkowy czas na napisanie aplikacji IoC może okazać się dłuższy a korzyści nadchodzą dopiero po kilku miesiącach implementa...

Dziel się z innymi:
Piotr Zieliński » Service Locator jako anti-pattern

Architektura 4563 dni, 13 godzin, 49 minut temu pzielinski 313 źrodło rozwiń

Wielu programistów i firm z branży IT często mówi, że potrafi wytwarzać oprogramowanie wysokiej jakości i że bardzo ważnym jest, aby o tą jakość zabiegać. Nie ma w tym nic dziwnego – wszyscy jesteśmy gotowi zgodzić się, że jakość powinna być możliwie wysoka. Problem pojawia się jednak w momencie, gdy trzeba doprecyzować pojęcia.

Dziel się z innymi:
Czym jest jakość oprogramowania?

Architektura 4565 dni, 16 godzin, 46 minut temu houp 259 źrodło rozwiń

Sprostowanie nieścisłości dotyczącej pojęcia polimorfizmu, która pojawiła się w kursie C# na portalu virtualstudy.pl

Tagi: .Net, polimorfizm
Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Cni Panowie, zacne Panie: polimorfizm – sprostowanie.

Architektura 4566 dni, 16 godzin, 3 minuty temu PaSkol 134 ź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 4567 dni, 5 godzin, 51 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 4568 dni, 21 godzin, 21 minut temu arek 196 źrodło rozwiń

Projektując programy w technologiach XAMLowych z wykorzystaniem MVVM Light Toolkit (w zasadzie liczy się wzorzec), zawsze napotykam problemy, na które trudno znaleźć jednoznaczną odpowiedź. Najczęściej kłopoty sprawia widok, który nie zawsze „chce” się zmieścić w kodzie xaml. Prostsze zadania można rozwiązać przy pomocy zachowań (?) czy też triggerów. Sprawy się komplikują w przypadku storyboardów. Co zrobić, jeżeli chcemy uruchomić ...

Storyboardy zgodnie z duchem MVVM

Architektura 4569 dni, 14 godzin, 29 minut temu tmalesza 306 ź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 4570 dni, 22 godziny, 41 minut temu arek 99 źrodło rozwiń

1 2... 21 22 23 24 25 26... 33 34