e-Kitap kullanarak Xamarin.Forms Kurumsal Uygulama Desenleri

Uyarlanabilir, sürdürülebilir ve test edilebilir Xamarin.Forms kurumsal uygulamalar geliştirmeye yönelik mimari kılavuz

Enterprise Application Patterns using Xamarin.Forms eBook

Not

Bu e-Kitap 2017 baharında yayımlanmıştır ve o zamandan beri güncelleştirilmemiştir. Kitapta değerli kalan çok şey var, ancak bazı malzemeler güncelliğini yitirmiş.

Bu e-Kitap, gevşek bağlamayı korurken Model-View-ViewModel (MVVM) desenini, bağımlılık eklemeyi, gezintiyi, doğrulamayı ve yapılandırma yönetimini uygulama konusunda rehberlik sağlar. Ayrıca IdentityServer ile kimlik doğrulaması ve yetkilendirme gerçekleştirme, kapsayıcılı mikro hizmetlerden verilere erişme ve birim testi konusunda da rehberlik vardır.

Önsöz

Bu bölümde kılavuzun amacı ve kapsamı ve hedeflenen kişiler açıklanmaktadır.

Giriş

Kurumsal uygulama geliştiricileri, geliştirme sırasında uygulamanın mimarisini değiştirebilecek çeşitli zorluklarla karşı karşıya kalır. Bu nedenle, zaman içinde değiştirilebilmeleri veya genişletilebilmeleri için bir uygulama oluşturmak önemlidir. Bu tür bir uyarlanabilirlik için tasarım zor olabilir, ancak genellikle bir uygulamayı bir uygulamaya kolayca tümleştirilebilen ayrık, gevşek bir şekilde bağlanmış bileşenlere bölmeyi içerir.

MVVM

Model-View-ViewModel (MVVM) deseni, bir uygulamanın iş ve sunu mantığını kullanıcı arabiriminden (UI) temiz bir şekilde ayırmaya yardımcı olur. Uygulama mantığı ve kullanıcı arabirimi arasında temiz bir ayrım yapılması, çok sayıda geliştirme sorununun giderilmesine yardımcı olur ve uygulamanın testini, bakımını yapmasını ve gelişmesini kolaylaştırabilir. Ayrıca kod yeniden kullanım fırsatlarını büyük ölçüde geliştirebilir ve geliştiricilerin ve kullanıcı arabirimi tasarımcılarının bir uygulamanın ilgili bölümlerini geliştirirken daha kolay işbirliği yapmasına olanak tanır.

Bağımlılık Ekleme

Bağımlılık ekleme, somut türlerin bu türlere bağlı koddan ayrıştırılmalarına olanak tanır. Genellikle, arabirimler ve soyut türler ile bu türleri uygulayan veya genişleten somut türler arasındaki kayıtların ve eşlemelerin listesini tutan bir kapsayıcı kullanır.

Bağımlılık ekleme kapsayıcıları, sınıf örneklerinin örneğini oluşturacak ve kapsayıcının yapılandırmasına göre yaşam sürelerini yönetecek bir tesis sağlayarak nesneler arasındaki bağlantıyı azaltır. Nesneleri oluşturma sırasında kapsayıcı, nesnenin gerektirdiği tüm bağımlılıkları buna ekler. Bu bağımlılıklar henüz oluşturulmadıysa kapsayıcı önce bağımlılıklarını oluşturur ve çözer.

Gevşek Bir Şekilde Eşlenen Bileşenler Arasında İletişim

Xamarin.FormsMessagingCenter sınıfı yayımla-abone ol desenini uygulayarak nesneye ve tür başvurularına göre bağlantı kurması zor olan bileşenler arasında ileti tabanlı iletişime olanak sağlar. Bu mekanizma, yayımcıların ve abonelerin birbirlerine başvuruda bulunmadan iletişim kurmasına olanak tanır ve bileşenler arasındaki bağımlılıkları azaltmaya yardımcı olurken, bileşenlerin bağımsız olarak geliştirilip test edilmesine de olanak tanır.

Xamarin.Forms , genellikle kullanıcının kullanıcı arabirimiyle etkileşiminden veya iç mantık temelli durum değişikliklerinin bir sonucu olarak uygulamanın kendisinden kaynaklanan sayfa gezintisi desteği içerir. Ancak, gezintinin MVVM desenini kullanan uygulamalarda uygulanması karmaşık olabilir.

Bu bölümde, görünüm modellerinden model öncelikli görüntüleme gezintisi gerçekleştirmek için kullanılan bir NavigationService sınıf sunulur. Görünüm modeli sınıflarında gezinti mantığı yerleştirmek, mantığın otomatikleştirilmiş testler aracılığıyla kullanılabilmesi anlamına gelir. Ayrıca görünüm modeli, belirli iş kurallarının uygulandığından emin olmak için gezintiyi denetlemek için mantık uygulayabilir.

Doğrulama

Kullanıcıların girişini kabul eden tüm uygulamalar girişin geçerli olduğundan emin olmalıdır. Doğrulama olmadan, bir kullanıcı uygulamanın başarısız olmasına neden olan verileri sağlayabilir. Doğrulama, iş kurallarını zorunlu kılar ve saldırganın kötü amaçlı veri eklemesini engeller.

Model-View-ViewModel (MVVM) deseni bağlamında, veri doğrulama gerçekleştirmek ve kullanıcının bunları düzeltebilmesi için görünüme doğrulama hataları göndermek için genellikle bir görünüm modeli veya modeli gerekir.

Yapılandırma Yönetimi

Ayarlar, bir uygulamanın davranışını koddan yapılandıran verilerin ayrılmasına izin verir ve uygulamanın yeniden derlenmesine gerek kalmadan davranışın değiştirilmesine izin verir. Uygulama ayarları, bir uygulamanın oluşturduğu ve yönettiği verilerdir ve kullanıcı ayarları, uygulamanın davranışını etkileyen ve sık sık yeniden ayarlama gerektirmeyen, bir uygulamanın özelleştirilebilir ayarlarıdır.

Kapsayıcılı Mikro Hizmetler

Mikro hizmetler, modern bulut uygulamalarının çeviklik, ölçek ve güvenilirlik gereksinimlerine uygun bir uygulama geliştirme ve dağıtım yaklaşımı sunar. Mikro hizmetlerin temel avantajlarından biri, ölçeğin bağımsız olarak genişletilebiliyor olmasıdır; bu da talebi desteklemek için daha fazla işlem gücü veya ağ bant genişliği gerektiren belirli bir işlevsel alanın ölçeklendirilebileceği ve uygulamanın artan taleple karşılaşmayan alanlarını gereksiz yere ölçeklendirmemesidir.

Kimlik Doğrulama ve Yetkilendirme

Kimlik doğrulaması ve yetkilendirmeyi ASP.NET MVC web uygulamasıyla iletişim kuran bir Xamarin.Forms uygulamayla tümleştirmeye yönelik birçok yaklaşım vardır. Burada kimlik doğrulaması ve yetkilendirme, IdentityServer 4 kullanan kapsayıcılı kimlik mikro hizmetiyle gerçekleştirilir. IdentityServer, taşıyıcı belirteç kimlik doğrulaması gerçekleştirmek için ASP.NET Core Identity ile tümleşen ASP.NET Core için açık kaynak bir OpenID Bağlan ve OAuth 2.0 çerçevesidir.

Uzak Verilere Erişme

Birçok modern web tabanlı çözüm, uzak istemci uygulamalarına işlevsellik sağlamak için web sunucuları tarafından barındırılan web hizmetlerinden yararlanır. Bir web hizmetinin kullanıma sunulan işlemleri bir web API'sini oluşturur ve istemci uygulamaları, API'nin kullanıma oluşturduğu verilerin veya işlemlerin nasıl uygulandığını bilmeden web API'sini kullanabilmelidir.

Birim Testi

Modelleri test etme ve MVVM uygulamalarından modelleri görüntüleme, diğer sınıfların test edilmesiyle aynıdır ve aynı araçlar ve teknikler kullanılabilir. Ancak, model sınıflarını modellemek ve görüntülemek için tipik olan ve belirli birim testi tekniklerinden yararlanabilen bazı desenler vardır.

Topluluk Sitesi

Bu projede soru gönderebileceğiniz ve geri bildirim sağlayabileceğiniz bir topluluk sitesi vardır. Topluluk sitesi GitHub'da bulunur. Alternatif olarak, e-Kitap hakkındaki geri bildirimler adresine dotnet-architecture-ebooks-feedback@service.microsoft.come-posta ile gönderilebilir.