Krzysztof Baranowski

Main Menu

  • Felietony
  • Xamarin
  • Programowanie
  • Autor
    • O mnie
    • Kontakt i współpraca
    • Polityka prywatności
Sign in / Join

Login

Welcome! Login in to your account
Lost your password?

Lost Password

Back to login

logo

  • Felietony
  • Xamarin
  • Programowanie
    • iOS - MvvmCross Presenter dla UISegmentedControl

      2 grudnia 2018
      0
    • Xamarin – Customers Manager – #4 – iOS

      10 listopada 2018
      0
    • Xamarin – Customers Manager – #3 – Core i Android

      30 października 2018
      0
    • Xamarin – Customers Manager – #2 – Pierwsze kroki

      7 października 2018
      0
    • Xamarin - Customers Manager - #1 - Wprowadzenie

      4 października 2018
      0
    • Co spodobało mi się w TDD?

      6 września 2018
      0
    • "Social Project" - Xamarin Workbook #2 - Refit i Akavache

      28 lutego 2018
      0
    • "Social Project" - Xamarin Workbook #1

      25 lutego 2018
      0
    • Visual Studio - Build Events

      2 lipca 2017
      2
  • Autor
    • O mnie
    • Kontakt i współpraca
    • Polityka prywatności
  • iOS – MvvmCross Presenter dla UISegmentedControl

  • Xamarin – Customers Manager – #4 – iOS

  • Xamarin – Customers Manager – #3 – Core i Android

  • Elitarny Projekt “Przyszły Programista” – opinia Piotra Woźnickiego

  • Xamarin – Customers Manager – #2 – Pierwsze kroki

Daj Się Poznać 2017Programowanie
Home›Daj Się Poznać 2017›Jade-ERP #6 – Rozwojowe zmiany

Jade-ERP #6 – Rozwojowe zmiany

By Krzysztof
9 kwietnia 2017
869
0
Udostępnij:

Przyszedł czas na podsumowanie prac nad projektem. Zmiany, które wprowadziłem są zdecydowanie rozwoje. W tym tygodniu rozpocząłem implementację okien dialogowych oraz zmieniłem podejście przy korzystaniu z Entity Framework.

 

 

Okna dialogowe

Po lekturze książki MVVM i XAML w Visual Studio 2015, postanowiłem zastosować przedstawione w niej podejście do tworzenia okien dialogowych w projektach wykorzystujących wzorzec MVVM.

Otóż tworzymy klasę abstrakcyjną, która będzie naszą bazą dla przyszłych okien dialogowych. Dziedziczymy w niej po FrameworkElement , więc z powodzeniem możemy umieszczać takie okno z widoku XAML.  Przykładowa implementacja (kod pochodzi z wymienionej książki):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public abstract class DialogBox : FrameworkElement, INotifyPropertyChanged
{
    protected Action<object> execute;
    protected ICommand show;
    public string Caption { get; set; }
 
    public virtual ICommand Show
    {
        get
        {
            if (show == null) show = new RelayCommand<object>(execute);
            return show;
        }
    }
 
    public event PropertyChangedEventHandler PropertyChanged;
 
    protected void OnPropertyChanged(string nazwaWłasności)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(nazwaWłasności));
    }
 
}

 

Delegat execute zawierający kod odpowiedzialny za pokazanie konkretnego okna zostanie zdefiniowany w klasach pochodnych. Dzięki czemu mamy swobodę tworzenia spersonalizowanych okien dialogowych. Przykładowa klasa pochodna:

C#
1
2
3
4
5
6
7
8
9
10
11
public class SimpleMessageDialogBox : DialogBox
{
    public SimpleMessageDialogBox()
    {
        execute =
        o =>
        {
            MessageBox.Show((string)o, Caption);
        };
    }
}

 

Tak przygotowane okno możemy umieścić w widoku, w którym ma zostać uruchomione.

YAML
1
2
3
<local:SimpleMessageDialogBox x:Name="simpleMessageDialogBox" Caption="Okno dialogowe" />
<ButtonCommand="{Binding ElementName=simpleMessageDialogBox, Path=Show}"
CommandParameter="Zawartość" />

 

Wyżej przedstawione definicje okien mogą zostać z powodzeniem użyte do tworzenia okien informacyjnych. Zdecydowanie przydatne będą okna gdzie będziemy mieli możliwość wykonania pewnych działań przed uruchomieniem i po zamknięciu okna. Nie udało mi się jeszcze zaimplementować takich okien w projekcie, dlatego nie będę przedstawiał przykładu.

 

 

Entity Framework

Na początku prac nad projektem zdecydowałem, że będę korzystał z podejścia model-first. Pomyślałem, że więcej nauczę się kiedy zmienię podejście na code-first, gdzie wszystko przejdzie mi “przez palce”. Póki co dokonałem pierwszej migracji.

 

Muszę przyspieszyć

Zdecydowanie muszę przyspieszyć pracę nad projektem, niestety bardzo trudno jest mi wygospodarować dodatkowy czas. Wszystko wskazuje na to, że będę musiał programować przy świątecznym stole. Do następnego!

TagiC#Daj się poznać 2017MVVMProjektySOLID
Poprzedni

Słomiany zapał

Następny

Krytyczne osądzanie #1- Perfekcjonizm

3
Udostępnień
  • 3
  • +
  • 0

Krzysztof

Programista - pasjonata z dużym poczuciem humoru. Amator muzyki, sportu i dobrego starego filmu.

Powiązane Więcej

  • Daj Się Poznać 2017Programowanie

    Jade-ERP #10 – Nowe ekrany

    7 maja 2017
    By Krzysztof
  • Daj Się Poznać 2017Programowanie

    Jade-ERP #5 – Małymi kroczkami do przodu

    31 marca 2017
    By Krzysztof
  • Daj Się Poznać 2017Programowanie

    SOLID #4 – ISP

    20 kwietnia 2017
    By Krzysztof
  • Programowanie

    Szkoła C# – 2 – Metody rozszerzające

    19 stycznia 2017
    By Krzysztof
  • Daj Się Poznać 2017Programowanie

    Jade-ERP #8 – Projektowa porażka

    23 kwietnia 2017
    By Krzysztof
  • Daj Się Poznać 2017Programowanie

    SOLID #3 – LSP

    3 marca 2017
    By Krzysztof

Może Cię zainteresować

  • Daj Się Poznać 2017Krótkie słowo

    Krótkie słowo #2 – O destruktywnej ambicji

  • Daj Się Poznać 2017ProgramowanieUncategorized

    MVVM – #2 – MVVM Toolkit #1

  • Programowanie

    Visual Studio – Build Events

NEWSLETTER

Nie przegap kolejnych postów, informacji o rozwoju bloga lub wydarzeń z nim związanych.

Zapisz się do newslettera

programistabyc.pl!


Jednocześnie wyrażasz zgodę na otrzymywanie informacji marketingowych.

Sprawdź swoją skrzynkę odbiorczą (albo katalog na spam) i potwierdź swoją subskrypcję.

Znajdź mnie na

Ostatnie komentarze

  • Paweł Bulwan
    on
    19 sierpnia 2017
    Słomiany zapał niekoniecznie musi być zły ;) Tak naprawdę jeśli kilka razy w miesiącu wpadamy na ...

    Słomiany zapał

  • Przemek Smyrdek
    on
    4 lipca 2017
    Jeśli budujesz aplikację zdalnie, z wykorzystaniem jakiegoś narzędzia do CI/CD to możesz te eventy wykorzystać do ...

    Visual Studio – Build Events

  • Marcin Kościelniak
    on
    4 lipca 2017
    Ja np wykorzystuje czasem zdarzenie prev żeby do wersji aplikacji dobić numer rewizji svn z jakiej ...

    Visual Studio – Build Events

  • krzbb
    on
    9 czerwca 2017
    Dzięki za komentarz. Masz rację, programiści-gwiazdy nie są raczej dobrze postrzegani. Sam post (przynajmniej w moim ...

    Jak zadbać o siebie?

  • Cyan
    on
    7 czerwca 2017
    Moim zdaniem to nie ma nic wspólnego z informatyką a raczej brzmi jak artykuł z Cosmopolitana ...

    Jak zadbać o siebie?

Facebook

©2018 programistabyć.pl
Ta strona korzysta z ciasteczek, aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.RozumiemPolityka prywatności