Jade-ERP #7 – Zmniejszanie zależności

Coraz bardziej dociera do mnie, że mogę nie zdążyć ukończyć projektu na czas. Jednocześnie zaczynam żyć z myślą, że pomimo tego, nauka jaką wynoszę z samego rozwijania projektu jest ważniejsza, niż jego ukończenie przed zakończeniem konkursu.

 

Żadnych widocznych zmian

W wyglądzie aplikacji nie nastąpiły żadne zmiany. Za to w kodzie zmiany są nader widoczne. Znacznie zmniejszyłem zależności pomiędzy klasami, z czego jestem bardzo zadowolony. Udało mi się z powodzeniem zaimplementować wzorzec projektowy Repozytorium, dzięki czemu znacznie łatwiej jest mi pobierać oraz aktualizować dane w bazie.

Od pewnego czasu z niepokojem patrzyłem na sprawę przypisywania wartości pól konkretnego obiektu modelu do właściwości w modelach widoku. Takie przepisywanie jest bardzo męczące, nużące oraz podatne na błędy. Na szczęście w moje ręce wpadła biblioteka AutoMapper, która znacząco ułatwia to zadanie. Po odpowiednim skonfigurowaniu, biblioteka ta sama przepisze mi wartości pól jednego obiektu(model) do odpowiadających pól drugiego obiektu(model widoku). Dzięki niej znacząco zmniejsza się ilość kodu, którego jednym zadaniem jest przypisywanie wartości. Zachęcam do zapoznania się z tą biblioteką. Być może w przyszłości napiszę o niej artykuł, póki co muszę ją lepiej poznać.

 

Porządki

Mój kod zmierzał w złym kierunku, był pełen zależności poprzez korzystanie, w dużej ilości z klas konkretnych. Wziąłem sobie do serca, aby naprawić ten problem. Zacząłem korzystać z SimpleIoC z biblioteki MVVM Toolkit. Po połączeniu go ze wzorcem Repozytorium, klasa modelu widoku listy kontrahenta(póki co tylko jego) oraz jego podglądu znacząco się uprościła.

Usunąłem, także nie potrzebne już fabryki obiektów, które wcześniej wydawały mi się dobrym rozwiązaniem.

 

Jeszcze podstawy…

Do tej pory we wpisach dotyczących projektu zawieram informacje o moich rozwiązaniach w projekcie. Mam nadzieje, że gdy skończę tworzyć podstawy aplikacji, w następnych wpisach zacznę zamieszczać informację o nowym funkcjonalnościach, widokach aplikacji.

Mam coś dla Ciebie

Zapisz się do mojego newslettera, a ja prześlę Ci zbiór kilkunastu praktycznych wskazówek dla programisty aplikacji mobilnych.

Menu