dotnetomaniak.pl

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

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 1713 dni, 10 godzin, 34 minuty temu arek 187 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 1714 dni, 3 godziny, 42 minuty temu tmalesza 287 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 1715 dni, 11 godzin, 54 minuty temu arek 97 rozwiń

WeakReference i cache Zacznijmy od tego, co to jest cache? Za Wikipedią: Pamięć podręczna (ang. cache) – mechanizm, w którym część spośród danych zgromadzonych w źródłach o długim czasie dostępu i niższej przepustowości jest dodatkowo przechowywana w pamięci o lepszych parametrach. Ma to na celu poprawę szybkości dostępu do tych informacji, które przypuszczalnie będą potrzebne w najbliższej przyszłości. Na początek trochę interfejsów (kontraktów). Dane odc...

Źródło: mancoding.tk
Dziel się z innymi:
WeakReference i cache | # Man coding

Architektura 1728 dni, 18 godzin, 49 minut temu http://pawlos.blogspot.com/ 202 rozwiń

Dzisiaj pokażę, jak od strony programistycznej wygląda AppDomain. Zwykle tworzymy aplikację host, która trzyma referencje do kilku AppDomain. Stwórzmy najpierw aplikację konsolową wyświetlającą po prostu tekst:namespace ConsoleApplication3 { class Program { staticvoid Main(string[] args) { while (true) { Console.WriteLine(AppDomain.CurrentDomain.FriendlyName); System.Threading.Thread.Sleep(2000); } } }...

Tagi: AppDomain
Dziel się z innymi:
Piotr Zieliński » AppDomain–część II

Architektura 1731 dni, 4 godziny, 49 minut temu pzielinski 123 rozwiń

Komenda preprocesora #if DEBUG i problemy z utrzymaniem (rename).

Tagi: .Net, debug
Dziel się z innymi:
#if DEBUG | .NET Blog

Architektura 1732 dni, 2 godziny, 8 minut temu http://krzysztofmorcinek.wo... 180 rozwiń

Ilu z nas wracając do starego kodu (napisanego wczoraj/ tydzień temu/ miesiąc temu) krzywi się patrząc na bałagan, który po sobie pozostawił? W zasadzie prościej będzie chyba zapytać komu się to nie zdarza. Otóż amerykańscy naukowcy znaleźli na to sposób. No dobra może nie amerykańscy, ale skrót jest z angielskiego - SOLID, rozkłada się on na pięć czynników, a każdy z nich jest znowu jakimś skrótem.

Tagi: SOLID, wzorce
Dziel się z innymi:
jstadnicki: SOLIDnie po łebkach

Architektura 1734 dni, 3 godziny, 18 minut temu http://pawlos.blogspot.com/ 237 rozwiń

W .NET istnieje twór zwany AppDomain. W systemie operacyjnym mamy kilka podobnych pojęć takich jak proces czy wątek. AppDomain w dużej mierze przypomina proces – służy do izolowania aplikacji bezpośrednio niezwiązanych ze sobą. Dwa różne procesy mają przede wszystkim różną przestrzeń pamięciową. Adres zmiennej w procesie A, odnosi się już do innego obszaru w procesie B – alokacja zaczyna się w różnych miejscach.  Z tego względu uruchomienie nowego procesu jest czasochłonną operacją i wiąże się z alokacją...

Tagi: AppDomain
Dziel się z innymi:
Piotr Zieliński » Co to jest AppDomain?

Architektura 1734 dni, 6 godzin, 7 minut temu pzielinski 251 rozwiń

O liczbach losowych Napiszmy prosty program, który rzuca 10 razy kostką. class Program { static void Main(string[] args) { for (int i = 0; i < 10;="" i++)="" console.writeline(gen.next(6)="" +="" 1);="" }="" }="" teraz="" program="" już="" działa="" zgodnie="" z="" oczekiwaniami.="" widzimy,="" że="" zmiana="" polegała="" na="" tym,="" że="" teraz="" mamy="" jeden="" generator,="" generujący="" kolejne="" liczby.="" w="" czym="" kilka="" generatorów="" jest="" ...

Tagi: liczby, losowe
Dziel się z innymi:
O liczbach losowych « Czepialski programista

Architektura 1753 dni, 18 godzin, 44 minuty temu Witek 230 rozwiń

autor: Niedawno uczestniczyłem w Study Group poświęconej architekturze aplikacji organizowanym przez Łódzką grupę profesjonalistów IT & .NET, gdzie przedstawiałem prezentację p.t. "Rozszerzalne aplikacje w .NET (czyli MAF i MEF)". Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare.

Prezentacja: „Rozszerzalne aplikacje w .NET (czyli MAF i MEF)” [PL] | Maciej Zbrzezny: Programowanie i Technologie

Architektura 1762 dni, 23 godziny, 32 minuty temu paduda 123 rozwiń

mijagiC# W życiu każdego programisty przychodzi moment (dość szybko ), kiedy zwykłe zmienne przestają być wystarczające. Potrzebujemy „miejsca” na przechowywanie porcji danych. W rozwiązaniu tego problemu pomogą nam tablice. Najprościej mówiąc tablica to zarezerwowany obszar w pamięci (zestaw zmiennych), tego samego typu, który jest podzielony na tzw elementy.Tablice jednowymiarowe Tablice jednowymiarowe, jak sama nazwa wskazuje mają tylko jeden wymiar, a ich reprezentacje fizyczną możemy sobie wyob...

Tablice w C# | kodzimy.net

Architektura 1773 dni, 15 godzin, 14 minut temu kodzimy-net 199 rozwiń

autor: Nie dawno (patrz wpis: „Rozszerzanie aplikacji .NET (czyli plugin'y, add-in'y, MAF, MEF, itp. ...)”) wspomniałem na tym blogu o Managed Aadd-in Framework (zwanego również System.AddIn lub MAF), przyjrzyjmy się bliżej temu rozwiązaniu. Naszą przygodę z MAF zacznijmy może od powrotu to pokazanego wcześniej rysunku, który zaczerpnięty został z MSDN: Muszę przyznać, że musiałem się chwilę zastanowić, gdy go pierwszy raz zobaczyłem. Przedstawia on tzw. pipeline, czyli ścieżkę prowadzącą przez poszcze...

[MAF 01] Rzut okiem na Managed Aadd-in Framework (System.AddIn) [PL] | Maciej Zbrzezny: Programowanie i Technologie

Architektura 1773 dni, 15 godzin, 14 minut temu paduda 101 rozwiń

Z biegiem lat, mam nieodparte wrażenie, że doba staje się coraz bardziej krótsza. Brakuje mi czasu na wiele różnych rzeczy. Obojętnie czy jest to pisanie kodu, czytanie książek, czy też nauka. Problem ten dotyczy również bloga, dlatego też spróbuję rozwiązać go w pewien sposób, wprowadzając nowy rodzaj tekstów oznaczonych tagiem Szybkie porady. Głównym zadaniem wpisów oznaczonych takim znacznikiem, będzie rozwiązanie pewnych, jasno określonych problemów. Teksty tego typu mogą pojawić się właściwie w każd...

Tagi: C#, mp3
Dziel się z innymi:
Odtwarzanie plików MP3 w C# - Alt Control Delete

Architektura 1779 dni, 2 godziny, 30 minut temu Yuras 161 rozwiń

W poprzedniej notce pokazałem jak przy pomocy bardzo prostego interfejsu IRepository oraz QueryObject można zrealizować warstwę dostępu do danych. W zalezności od wielkości projektu może się okazać, że ciut brakuje funkcjonalności. Co zatem robić? Z założenia nie chcemy już więcej zmieniać naszego interfejsu. Jak więc przykładowo wykonać operację pobrania rekordu z bazy i ustanowienia na nim blokady? W bazowej implementacji nie mamy takiej metody... i nie będziemy jej dodawać do interfejsu. Na szczęście...

Źródło: dario-g.com
Dziel się z innymi:
Dario-G | Rozszerzanie IRepository

Architektura 1779 dni, 14 godzin, 40 minut temu http://pawlos.blogspot.com/ 108 rozwiń

Jestem właśnie w trakcie lektury "Czystego kodu" Roberta C. Martina (polecam wszystkim programistom). Chciałbym podzielić się pewnym spostrzeżeniem autora tej książki. Otóż jako zupełne przeciwieństwa stawia on kod obiektowy oraz kod proceduralny operujący na strukturach danych. Zasadnicza różnica polega na tym, że klasy ukrywają swoją implementację komunikując się ze światem zewnętrznym wyłącznie przez metody, podczas gdy struktury danych mają zupełnie jawną postać, przez co nie potrzebują żadnych metod...

Kamil Durkiewicz: Obiekty vs. struktury danych

W poprzednim wpisie chciałem pokazać jak w dłuższej perspektywie opasłe obiekty repozytoriów są mało użyteczne i nie spełniają swoich teoretycznych założeń. Mimo to jednak postanowiłem zostawić w swojej infrastrukturze interfejs IRepository

Źródło: dario-g.com
Dziel się z innymi:
Dario-G | QueryObject Pattern i bardzo proste IRepository

Architektura 1788 dni, 18 godzin, 23 minuty temu http://pawlos.blogspot.com/ 217 rozwiń

O to jest pytanie. Używać czy nie używać Repository Pattern? Ostatnio troszkę się nad tym zastanawiałem i doszedłem do solidnego wniosku: tak i nie. :) Wiadomo, że ktoś zawsze powie: "to zależy". A ja mu przytaknę. W malutkim projekcie nie ma sensu. W większym? Chcąc być purystą powinienem zrealizować cały dostęp do danych poprzez wartwę realizowaną na bazie Repository Pattern. Czy to ma sens? Co jeśli chcę tylko wyciągnąć imię i nazwisko ostatnio dodanego użytkownika? Czy na prawdę muszę pisać te wszys...

Źródło: dario-g.com
Dziel się z innymi:
Dario-G | Używać czy nie używać Respository Pattern?

Trzeci z serii artykułów, w których pokażę swój pomysł na ożenienie WPF, Silverlight i Windows Phone. Przedstawiam tutaj działającą, prostą architekturę pozwalającą na komunikację wszystkich 3 klienckich platform z serwerem przy pomocy socketów.

Multiplatforomowe aplikacje w .NET, Silverlight i Windows Phone Cz.3 - Konfiguracja komunikacji socketami ~ Premium Hands

Architektura 1796 dni, 13 godzin, 6 minut temu premium-hands-net 54 rozwiń

Drugi z serii artykułów, w których pokażę swój pomysł na ożenienie WPF, Silverlight i Windows Phone. Przedstawiam w nim zarys komunikacji dwustronnej klient/serwer - serwer/klient przy pomocy socketów.

Dziel się z innymi:
Multiplatforomowe aplikacje w .NET, Silverlight i Windows Phone Cz.2 - Wstęp do komunikacji socketami ~ Premium Hands

Architektura 1796 dni, 13 godzin, 6 minut temu premium-hands-net 60 rozwiń

.NET pozwala na tworzenie aplikacji na wiele platform. To pierwszym z serii artykułów, w których pokażę swój pomysł na ożenienie WPF, Silverlight i Windows Phone. W tym znajdziecie trochę ogólnej teorii oraz informację o sposobach współdzielenia plików.

Dziel się z innymi:
Multiplatforomowe aplikacje w .NET, Silverlight i Windows Phone Cz.1 - Współdzielenie klas ~  Premium Hands

Architektura 1796 dni, 13 godzin, 6 minut temu premium-hands-net 111 rozwiń

1 2... 6 7 8 9 10 11... 17 18
Szkolenia SecurITum

luty

25.

marzec

03.
Wroc#
Wrocław

kwiecień

03.
4developers
Warszawa
Zobacz wszystkie

.NET Developer Days 2015

W tym roku ponownie jak w poprzednim jesteśmy jednym z patronów medialnych konferencji .NET Developer Days. W tym roku jednym z prelegentów będzie Scott Hanselman.  czytaj więcej
2015-07-22

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 510,42)

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,84)

8

Damian (9 011,08)

9

danielplawgo (7 235,99)

10

arek (6 642,85)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 418,06)

15

jedmac (3 238,38)

16

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

17

CaMeL (2 954,87)

18

mnikolajuk (2 596,93)

19

lkurzyniec (2 466,12)

20

FutureProcessing (2 460,11)