Archiwum kategorii: Programowanie

Nowa definicja SaaS

Technologia to obszar, w którym zmiany dokonują się niemal każdego dnia. Systemy, zwłaszcza te przeznaczone do sprzedaży internetowej, zarówno w modelu B2B jak i B2C, regularnie wzbogacane są o nowe funkcjonalności, bądź zmieniają specyfikę obecnych. Wszystko to warunkowane jest nieustannie rosnącymi potrzebami klientów.

W i-systems, od początku działalności firmy, główną ideą przyświecającą realizacji wszystkich projektów jest jakość. Dostarczanie klientom najlepszych rozwiązań technologicznych, to podstawa naszego działania. W listopadzie 2016 roku powstała idea uruchomienia zespołu programistów odpowiedzialnych za wdrożenie metody Continuous Integration.

Najważniejszym zadaniem tego działu, stało się skuteczne wdrożenie metody i umożliwienie klientom i-systems ciągłego rozwoju ich systemów sprzedaży. Metoda CI polega na wspólnej pracy zespołu programistów, którzy wprowadzają zmiany w sposób ciągły, scalając je nawet co kilka minut. Wspólna praca nad kodem wpływa na jego najwyższą jakość i sprawia, że wytworzony kod jest spójny, a praca systemu efektywna przez wiele lat.

Pierwszy sklep oparty o Continuous Integration wdrożony został przez i-systems już w maju 2017 roku. Obecnie w swoim portfolio posiadamy aż 16 sklepów internetowych uruchomionych w metodzie CI, a ich liczba stale rośnie.

Dla marki wdrożenie CI oznacza:
– systematyczną rozbudowę systemu sprzedaży internetowej, niezależnie czy jest to sprzedaż B2B czy też B2C o innowacyjne funkcjonalności tworzone we współpracy z działem R&D
– zapewnienie bezpieczeństwa, poprzez przeprowadzanie automatycznych testów, dzięki którym do systemu wprowadzane są tylko w pełni zweryfikowane elementy
– jeszcze szybszy time to market rozumiany jako przejście od koncepcji funkcjonalności do wdrożenia
– gwarancję odpowiedzialności dostawcy systemu za jakość rozwiązania opartego o przetestowane elementy
– przewidywalny koszt rozwoju systemu e-commerce dzięki precyzyjnie określonym warunkom współpracy
– zrównoważony i stały rozwój systemu e-commerce

Stałe dostarczanie do systemu nowych elementów i funkcjonalności sprawiło, że konieczna stała się zmiana wykorzystywanego dotychczas modelu biznesowego. Tak właśnie powstała koncepcja modelu o nazwie „Dedykowany SaaS”. Okazuje się bowiem, że rozwiązania dedykowane i te oferowane w modelu SaaS nie wykluczają się wzajemnie, a wręcz doskonale ze sobą współgrają. Połączenie tych modeli e-commerce zapewnia klientom zupełnie nową jakość i sprawia, że możliwe staje się nie tylko wykorzystanie ich zalet, ale i wyeliminowanie minusów.

W efekcie, otrzymujemy innowacyjny model systemu, który charakteryzuje się:
– niższym kosztem wdrożenia i rozwoju oprogramowania
– możliwością tworzenia dedykowanych rozwiązań
– dostępem do wszystkich funkcjonalności oferowanych przez dostawcę oprogramowania
– szybkim Time to Market
– umożliwieniem wieloletniego rozwoju

Co istotne, dedykowany SaaS stanowi gwarancję obniżenia kosztu inwestycji początkowej w projekt, a wykorzystanie tego modelu biznesowego sprawia, że klientowi zapewnione zostaje pełne bezpieczeństwo. W przypadku, jeżeli klient podejmie decyzję o chęci samodzielnego hostowania i utrzymywania oprogramowania, ma on możliwość wykupienia licencji posiadanego rozwiązania na własność.

Continuous Integration to przyszłość e-commerce. Firma i-systems jako pierwsza na rynku, poprzez wykorzystanie praktyki CI, oferuje system sprzedaży rozwijany jako dedykowany SaaS. Dzięki tej metodzie klienci posiadają stabilne i zawsze aktualne systemy, pozwalające na wieloletni rozwój i wzmocnienie swojej pozycji rynkowej.

Zdarzenia i delegaty w języku C#

Dzisiejszy wpis będzie poświęcony dwóm bardzo interesującym mechanizmom języka C# – zdarzenia i delegaty.

Delegaty

Delegat w rozumieniu języka programowania to wskaźnik na funkcję – pojęcie znane z takich języków jak C++ czy Java. Jednak w odróżnieniu od innych języków w C#, mechanizm ten został uproszczony i łatwiejszy w użyciu. Delegaty umożliwiają późne wiązanie, czyli decyzja o utworzeniu obiektu zapada w trakcie działania programu. Przeanalizujmy przykład takiego delegata.

1

Tworzenie delegata odbywa się jak tworzenie zwykłej metody, przy czym należy zaznaczyć, że tworzymy delegat za pomocą słowa kluczowego delegate. Tworzone delegaty nie mają implementacji. Sygnaturę delegata określają argumenty jakie przyjmuje oraz zwracany typ. Używając delegatów należy pamiętać, że delegaty to po prostu nowe typy danych, z tym że tworząc zmienne ich typów można przypisać do nich metody o odpowiadającej im sygnaturze. Poniżej przykład użycia delegata.

Deklaracja metod o takiej samej sygnaturze jak sygnatura naszego delegata:

2

Utworzenie zmiennych delegata wskazujących na wcześniej zadeklarowane metody:

4

Do delegata można przypisać więcej niż jedną metodę. Dzięki temu w momencie wywołania delegata zostaną wywołane wszystkie metody przypisane do niego:

5

Zdarzenia

Zdarzenia to elementy wykorzystywane bardzo często, są to akcje wykonywane w momencie zaistnienia pewnej sytuacji, np. ruch myszką, kliknięcie na przycisk, itp.. Zdarzenia w języku C# opierają się na wcześniej opisanych delegatach.

Aby zadeklarować zdarzenie należy użyć słówka kluczowego event:

6

W tym przypadku do zmiennej Click będzie można przypisywać metody zgodne z sygnaturą delegata EventHandler, nic nie stoi na przeszkodzie, aby użyć w tym miejscu własnego delegata, pamiętając o tym aby przypisywać do zmiennej metody (może ich być więcej niż jedna) o takiej samej sygnaturze jak nasz delegat. W momencie zajścia określonego zdarzenia (np. kliknięcie na przycisk) wywołane zostaną wszystkie metody przypisane do tego zdarzenia. Przypisanie metody do zdarzenia odbywa się dokładnie tak samo jak przypisanie metody do delegata:

7
8

Podsumowanie

Delegaty i zdarzenia to bardzo użyteczne mechanizmy języka C#. Za ich pomocą można, przede wszystkim zwiększyć czytelność kodu, ponieważ zmniejszamy ilość instrukcji warunkowych, przez co kod staje się bardziej zrozumiały. Pisząc aplikacje desktopowe (WinForms, WPF) delegaty i zdarzenia będą naszymi nieodzownymi towarzyszami, gdyż pisanie aplikacji okienkowych opiera się głównie na zdarzeniach.

Autorem tekstu jest Mateusz Łysień.