Najprostszym wzorcem projektowym warstwy biznesowej, należącym do grupy wzorców proceduralnych jest skrypt transakcji (w skrócie TS – transcaction script). Spójrzmy na diagram UML przedstawiający przykład jego użycia: Innymi słowy, TS jest zapisem przypadków użycia w naszym systemie. W przypadku systemu sprzedaży oczywistymi przypadki użycia są m.in.: dodanie nowego klienta do bazy, złożenie zamówienia czy pobranie listy produktów. Jak już wspomniałem jest to wzorzec proceduralny a nie obiektowy zate...
Strona głównaUżytkownik
PepiTrickster | użytkownik
Architektura 5352 dni, 1 godzinę, 17 minut temu 114 źrodło rozwiń
ASP jest technologią Microsoftu dlatego większa część piszących w niej automatycznie umieszcza swoje dzieci na IIS. Nie wszyscy wiedzą ze ta technologia może być zaimplementowana na każdym serwerze linuxowym. W sieci jest wiele wzmianek dotyczących jej instalacji i dwa razy więcej problemów jakie owa instalacja spowodowała. Jednym z tych sposobów jest instalacja: sudo apt-get install mono-xsp2 mono-xsp2-base asp.net2-examples W porządku serwer działa ale należy go każdorazowo uruchamiać...
Niedawno popisałem troszkę o czasie UTC i dlaczego tylko taka reprezentacja czasu powinna znajdować drogę do bazy danych. A teraz... w jaki sposób przygotować datę do podróży w drugą stronę, czyli do użytkownika. Z Automapperem jest to zadanie doprawdy banalne, wystarczy odpowiedni Type Converter...
Minął luty, więc większość z nas staje jak co roku przed koniecznością wypełnienia i dostarczenia do urzędu skarbowego rocznego zeznania podatkowego. Zastanówmy się czy rozwiązania umożliwiające złożyć PIT elektronicznie, są dobre? Co z oprogramowaniem wspomagającym, czy możemy mu zaufać?
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. Dzisiaj powiemy sobie o podstawowych kontrolkach (tytuł mógłby mylić :D ) których możemy użyć na naszej stronie. Dokładnie będą to: Literal, Table, TableRow, TableCell, Image, ImageButton, ImageMap, Calendar, FileUpload, Panel, MultiView, View, Wizard.Kontrolka Literal Kontrolka ta jest bardzo podobna do kontroli Label, ponieważ odpowiada za wyświetlanie statycznego tekstu na stronie. Nie dziedziczy ona po WebControl. Kontrolka ta nie wprow...
Jak wiadomo w pliku tym znajdują się informacje konfiguracyjne sterujące pracą aplikacji, np. definicja połączenia z bazą danych lub konfiguracja zewnętrznych serwerów SMTP. Uzyskanie dostępu do tego pliku przez osobę niepowołaną może mieć drastyczne skutki dla aplikacji. Oczywistym faktem staje się zabezpieczenie tych informacji poprzez zaszyfrowanie ich. Służy do tego narzędzie „aspnet_regiis.exe” uruchamiane z konsol...
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Zakładamy, że mamy już utworzony nasz serwis. Teraz nadeszła pora na wdrożenie (ang. deployment). Jedną z najprostszych metod uruchomienia serwisu jest wykorzystanie serwera IIS (Internet Information Services) lub WAS (Windows Process Activation Service). Bardzo prosty kod, który pozwala hostować naszą usługę z poziomu zarządzanej aplikacji został przedstawiony w artykule 70-503: Service Endpoint Basics, akapit...
Programowanie rozproszone 5349 dni, 2 godziny, 6 minut temu 61 źrodło rozwiń
Moduł tabeli (TM – table module) jest również wzorcem proceduralnym (podobnie jak TS). Rozwiązuje jednak podstawowy problem TS – brak zdefiniowania metody podziału logiki biznesowej na klasy. W przypadku TS sam wzorzec nie określał ile klas należy stworzyć. Wszystko zależało od programisty. Mógł on stworzyć jedną klasę zarządzającą zarówno zamówieniami jak i produktami. Moduł tabeli mówi po prostu, że należy stworzyć osobną klasę dla każdej tabeli w bazie danych. Czyli w przypadku gdy mamy tabele “Orders...
Architektura 5348 dni, 4 godziny, 13 minut temu 86 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Wiemy już jak uruchomić nasz serwis na IIS. Jeśli nie chcemy do tego wykorzystywać IIS’a WCF daje nam możliwość hostowania serwisu w aplikacji konsolowej, usłudze systemowej, aplikacji Windows Forms, czy nawet WPF (ang. Windows Presentation Foundation). Dla prostych usług WCF zapewnia swoją aplikację hostującą (o niej będzie na końcu lekcji).Aplikacja konsolowa Najczęściej serwisy hostuje się w aplikacji konsol...
Programowanie rozproszone 5349 dni, 2 godziny, 6 minut temu 46 źrodło rozwiń
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. W dzisiejszym artykule powiemy sobie o nawigacji na stronie, używaniu SiteMap, przekierowywaniu użytkowników itp.Wybór metody nawigacji po stronie Istnieje kilka sposobów nawigacji między stronami ASP .NETNawigacja po stronie klienta Chyba najprostszym sposobem nawigacji między stronami jest użycie kontrolki HyperLink i ustawienie właściwości NavigateUrl na adres, do którego chcemy dotrzeć. Kontrolka HyperLink w naszym kodzie przyjmuj...
Przyszedł czas na opisanie najbardziej złożonego wzorca warstwy biznesowej – modelu domeny (DM). Jeśli nie znacie dobrze wzorca opisanego w poprzednich postach (aktywny rekord) nie zaczynajcie nawet próbować zrozumieć DM ponieważ jest on po prostu rozszerzeniem AR. Na początek kilka faktów. DM jest wzorcem w pełni obiektowym, wykorzystującym wszelkie dobrodziejstwa programowania obiektowego (dziedziczenie, polimorfizm itp.). DM w przeciwieństwie do AR nie jest wzorcem zorientowanym na bazę danych. Scen...
Architektura 5347 dni, 22 godziny, 32 minuty temu 202 źrodło rozwiń
Jak na razie nie udało mi się odnaleźć informacji związanych z synchronizacją niestandardowych pól zawartych na witrynach WSS do outlooka (2007). Przykładowy scenariusz:a. Utworzona została lista o nazwie "Pracownicy" typu "kontakty". b. Lista "Pracownicy" jest uaktualniana poprzez program startujący raz na dobę, który przegląda informacje w systemie kadrowym i w razie wymagań dodaje lub modyfikuje informacje zawarte na liście "Pracownicy". c. Z danych zawartych na liście "Pracownicy" korzystają inne lis...
Dzisiaj przyszedł czas na pierwszy wzorzec obiektowy – aktywny rekord(AR). Zaczynamy od diagramu klas: W przeciwieństwie do poprzednich wzorców, każda klasa definiuje fragment logiki biznesowej. Obiekty klas występują w relacji jeden do jednego względem wierszy w tabeli. Klasa Order będzie zawierała zatem logikę dla konkretnego zamówienia a nie dla zbioru zamówień. Klasy tworzymy zwykle dla każdej tabeli z bazy danych a ich instancje jak już wspomniałem dla każdego przetwarzanego wiersza. Warto po...
Architektura 5347 dni, 8 godzin, 21 minut temu 168 źrodło rozwiń
Automapper oferuje coś takiego jak profile. Dokumentacja nie mówi nam o nich na dzień dzisiejszy zbyt wiele (link) (dla leniwych - nie mówi NIC:) ). Po czymś o nazwie "profil" spodziewałem się możliwości utworzenia mniejszych "podkonfiguracji" charakterystycznych dla konkretnego scenariusza. Na przykład gdybym chciał mapowanie int->string mieć wspólne dla całej aplikacji, to nie umieszczałbym go w żadnym profilu. Natomiast wspomniane kiedyś mapowanie z czasu UTC na czas lokalny mógłbym mieć w profilu o n...
Ostatnimi czasy zarówno na devPytaniach jak i 9fingers pojawiało się podobne pytanie, wcześniej też je wielokrotnie słyszałem. Powiem więcej - sam je kiedyś zadawałem. Na dotnetomaniaku z kolei pojawił się link do bloga, którego autor (Matthew) również dzieli się refleksjami na ten temat: link. Zachęcam do lektury - jeśli nie czytaliście to przeczytajcie i spotkajmy się za kilka minut :).
Autor przedstawia 11 zasad postępowania w pracy.
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. Śledzenie stanu użytkownika, przechowywanie jego danych jest bardzo ważnym elementem w naszych aplikacjach. Nie jest to oczywiście problem tylko aplikacji webowych ale również “okienkowych” ;) My jednak dzisiaj skupimy się na rozwiązaniach dla pierwszego typu oprogramowania ;) A konkretnie omówimy sobie następujące mechanizmy: View state, Hidden fields, Cookies oraz Query string. Są dwa sposoby na zarządzanie informacjami. Wszystko możemy ...
Ostatnio dość głośno się mówi o nowej platformie dla XNA – Windows Phone 7. Microsoft udostępnił już stosowne narzędzia pozwalające emulować zarówno samą platformę sprzętową na PC jak również tworzyć na nią aplikację. Odnośnie samego Windows Phone’a, kilka featerów można zobaczyć na prezentacji znajdującej się pod tym adresem. Jednak to co z mojego punktu widzenia jest najbardziej interesujące to właśnie możliwości tej platformy pod kątem XNA. ...
Mobile development 5346 dni, 4 godziny, 3 minuty temu 95 źrodło rozwiń
Oczywiście nie ma jednoznacznej odpowiedzi jaki wzorzec używać. Wszystko zależy od konkretnych wymagań aplikacji oraz dostępnego czasu na ukończenie projektu. Wzorce obiektowe na pewno cechują się większą elastycznością od wzorców proceduralnych. Z drugiej strony jeśli projekt nie jest zbyt skomplikowany to po co poświęcać czas na implementacje ich, jeżeli i tak to w przyszłości nie zwróci się (w postaci zaoszczędzonego czasu)? Generalnie im więcej poświecimy czasu na początku na implementacje wzorca t...
Architektura 5346 dni, 4 godziny, 3 minuty temu 103 źrodło rozwiń
Dzisiaj krótki post o wsparciu narzędzi ORM (konkretnie EF) da wzorca aktywny rekord. Tak naprawdę to co generuje nam EF jest już aktywnym rekordem. Wystarczy tylko uzupełnić wygenerowane klasy o logikę biznesową ponieważ w przeciwnym wypadku będzie to tylko czysta warstwa dostępu do danych. Załóżmy, że mamy już wygenerowany jakiś diagram encji EF.Na tą chwile mamy wyłącznie zaimplementowaną (a raczej wygenerowaną) warstwę dostępu do danych. W celu dodawania właściwej logiki biznesowej, należy stworzy...
Architektura 5345 dni, 13 godzin, 41 minut temu 82 źrodło rozwiń