ekitap kullanarak uygulama desenleri Enterprise Xamarin.Forms

Uyarlamalı tablo, sürdürülebilir ve test edilebilir kurumsal uygulamalar geliştirmeye yönelik mimari kılavuz

<span class =Xamarin. Forms Enterprise Application Patterns using  tap kullanarak uygulama desenleri Enterprise

Not

Bu e-kitap 2017 baharında yayınlanmıştır ve sonrasında güncelleştirilmedi. Kitapta çok önemli olmaya devam eder, ancak bazı malzemeler güncel değildir.

Bu eKitap; Model-View-ViewModel (MVVM) deseninin, bağımlılık ekleme, gezinme, doğrulama ve yapılandırma yönetiminin nasıl uygulanacağı hakkında rehberlik sağlar. Ayrıca, IdentityServer ile kimlik doğrulama ve yetkilendirme gerçekleştirme, Kapsayıcılı mikro hizmetlerden verilere erişme ve birim testi yapma konusunda da rehberlik vardır.

Önsöz

Bu bölüm, kılavuzun amacını ve kapsamını ve kim olduğunu anlatmaktadır.

Giriş

Kurumsal uygulamalara yönelik geliştiriciler, geliştirme sırasında uygulamanın mimarisini değiştirebilecek çeşitli güçlükler olabilir. Bu nedenle, bir uygulama oluşturmak önemlidir, böylece zaman içinde değiştirilebilir veya genişletilir. Bu tür uyumluluk için tasarım zor olabilir, ancak genellikle bir uygulamayı bir uygulamayla birlikte kolayca tümleştirilen ayrık, gevşek olarak bağlanmış bileşenlere Bölümlendirmeyi kapsar.

MVVM

Model-View-ViewModel (MVVM) modeli, bir uygulamanın iş ve sunum mantığının kullanıcı arabiriminden (UI) düzgün bir şekilde ayrısağlanmasına yardımcı olur. Uygulama mantığı ve Kullanıcı arabirimi arasında temiz ayrımı sürdürmek, çok sayıda geliştirme sorununa yönelik olarak yardımcı olur ve bir uygulamanın test, bakım ve gelişmede daha kolay olmasını sağlayabilir. Ayrıca, kod yeniden kullanımı fırsatlarını önemli ölçüde geliştirebilir ve geliştiricilerin ve UI tasarımcılarının bir uygulamanın ilgili parçalarını geliştirirken daha kolay işbirliği yapmasına olanak sağlar.

Bağımlılık Ekleme

Bağımlılık ekleme, bu türlere bağlı koddan somut türlerin ayrılmalarını mümkün hale getirmenize izin vermez. Tipik olarak, arabirimler ve soyut türler arasında kayıtlar ve eşlemeler listesini tutan ve bu türleri uygulayan veya genişleten somut türler içeren bir kapsayıcı kullanır.

Bağımlılık ekleme kapsayıcıları, sınıf örneklerinin örneğini oluşturma ve kapsayıcının yapılandırmasına göre yaşam sürelerini yönetme olanağı sunarak nesneler arasındaki kuponu azaltır. Nesne oluşturma sırasında kapsayıcı, nesnenin kendisi için ihtiyaç duyduğu bağımlılıkları çıkartır. Bu bağımlılıklar henüz oluşturulmadıysa, kapsayıcı öncelikle bağımlılıklarını oluşturup çözer.

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

Xamarin.FormsMessagingCenter Sınıfı, Yayımla-abone ol ' u uygular, nesne ve tür başvurularına göre bağlantı için uygun olmayan bileşenler arasında ileti tabanlı iletişime izin verir. Bu mekanizma, yayımcıların ve abonelerin birbirleriyle bir başvuruya sahip olmadan iletişim kurmasına olanak tanır, bileşenler arasındaki bağımlılıkları azaltmaya yardımcı olur, Ayrıca bileşenlerin bağımsız olarak geliştirilip test edildiğini de sağlar.

Xamarin.Forms , iç mantık odaklı durum değişikliklerinin sonucu olarak, genellikle kullanıcının Kullanıcı ARABIRIMINDEN veya uygulamanın kendisinden etkileşime neden olan sayfa gezintisi için destek içerir. Ancak, bir gezinmede MVVM modelini kullanan uygulamalarda uygulanması karmaşık olabilir.

Bu bölümde, Görünüm NavigationService modellerinden önce görüntüleme modeli gezintisi yapmak için kullanılan bir sınıf sunulmaktadır. Görüntüleme modeli sınıflarında gezinti mantığını yerleştirmek, mantığın otomatikleştirilmiş testler aracılığıyla uygulanabilecek anlamına gelir. Ayrıca, görünüm modeli, belirli iş kurallarının uygulanmasını sağlamak üzere gezintiyi denetlemek için mantığı uygulayabilir.

Doğrulama

Kullanıcılardan giriş kabul eden herhangi bir uygulama, girişin geçerli olduğundan emin olunması gerekir. 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 bir saldırganın kötü amaçlı verilerden ekleme engel olur.

Model-View-ViewModel (MVVM) deseninin bağlamında, bir görünüm modeli veya modeli, genellikle veri doğrulaması gerçekleştirmek ve kullanıcının bunları düzeltebilmesi için herhangi bir doğrulama hatasını işaret etmek üzere gerekli olacaktır.

Yapılandırma yönetimi

Ayarlar, bir uygulamanın, uygulamayı yeniden oluşturmadan değiştirilmesine izin veren, koddan bir uygulamanın davranışını yapılandıran verilerin ayrılmasını sağlar. Uygulama ayarları bir uygulamanın oluşturduğu ve yönettiği verilerden ve Kullanıcı ayarları, uygulamanın davranışını etkileyen ve sık sık yeniden ayarlama gerektirmeyen bir uygulamanın özelleştirilebilir ayarlardır.

Kapsayıcılı Mikro Hizmetler

Mikro hizmetler, modern bulut uygulamalarının çeviklik, ölçeklendirilmesi ve güvenilirliği gereksinimlerine uygun uygulama geliştirme ve dağıtıma yönelik bir yaklaşım sunar. Mikro hizmetlerin başlıca avantajlarından biri bağımsız olarak ölçeklendirilebilecekleri anlamına gelir. Bu, belirli bir işlevsel alanın, talebi desteklemek için daha fazla işlem gücü veya ağ bant genişliği gerektiren, daha fazla talep desteği olan, daha az talep gerektirmeyen bir uygulama alanını daha az ölçeklendirmeden ölçeklendirilebilmesine olanak sağlar.

Kimlik Doğrulama ve Yetkilendirme

kimlik doğrulama ve yetkilendirmeyi, Xamarin.Forms ASP.NET MVC web uygulamasıyla iletişim kuran bir uygulamayla tümleştirmek için birçok yaklaşım vardır. Burada kimlik doğrulama ve yetkilendirme, IdentityServer 4 kullanan kapsayıcılı bir kimlik mikro hizmeti ile gerçekleştirilir. ıdentityserver, taşıyıcı belirteç kimlik doğrulamasını gerçekleştirmek için ASP.NET Core kimliğiyle tümleştirilen ASP.NET Core için açık kaynaklı bir openıd 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 hizmetlerini kullanır. Bir Web hizmetinin sunduğu işlemler bir Web API 'SI oluşturur ve istemci uygulamalar, API 'nin sunduğu verilerin veya işlemlerin nasıl uygulandığını bilmeden Web API 'sini kullanabilmelidir.

Birim testi

MVVM uygulamalarından test modellerini ve görüntüleme modellerini, diğer sınıfların test edilmesine benzer ve aynı araçlar ve teknikler de kullanılabilir. Ancak, model sınıfları için tipik olan ve belirli birim testi tekniklerinden faydalanabilecek bazı desenler vardır.

Community sitesi

Bu proje, üzerinde soru nakledebileceğiniz ve geri bildirimde bulunmak için kullanabileceğiniz bir topluluk sitesine sahiptir. Topluluk sitesi GitHubbulunur. Alternatif olarak, eKitap hakkında geri bildirim e-postayla gönderilebilir dotnet-architecture-ebooks-feedback@service.microsoft.com .