Angular ile uygulama geliştirmeye yeni başlayanlar "angular service nedir ?" şeklinde arıyorsanız, maalesef yanlış bir arama yapıyorsunuz… Çünkü service bir design pattern’ dir. Framework, dil vb. farketmez. Service yapısının kendisi dilden, framework’ ten bağımsızdır. Service yapısı, component, directive, decorator gibi Angular’ a ait yapılardan biri değildir.

Service Nedir ?

Servis yönelimli dizayn paradigmasını uygulayan bir tasarım desenidir. Tamamen Türkçe terimler ile yazınca çağrışım yapmadı mı ? Evet maalesef, yazılım endüstrisinin dili İngilizce 🙂

Service’ i anlatmanın en sağlıklı yolu, "service ne yapar", "service’ e neden ihtiyaç var ?", "service olmazsa olmaz mı ?" sorularına cevap vermektir diye düşündüm.

Service ne yapar ? Service’ e neden ihtiyaç var ?

Uygulamanızın birbirinden farklı işleri yapan ve dolayısıyla ayrışmış kısımları vardır. Anasayfa, ürün sayfası, sepet sayfası vb. gibi pek çok kısmı vardır. Hepsi kendi controller’ ını kullanır. Lakin, hepsinin de ortak olarak ihtiyaç duyduğu araçlar olabilir. Örneğin; loglama, veri çekme vb. gibi metodlara ihtiyaç vardır. Bunların hepsi service ler içinde yazılıp, uygulama genelinde kullanılır.

Service olmazsa olmaz mıdır ?

Programlama da olmazsa olmazlar vardır elbetteki. Mesela veri tipleri; string ve int veri tipleri olmasa, ekrana adımızı dahi yazamayız. Çünkü bir değerin kesin olarak string yada int olarak ayrılması gerekir. Aksi taktirde, o değere ne text parçası gibi davranıp üzerinde işlem yapabiliriz, ne de bir sayı gibi davranıp, başka bir sayı ile toplayabiliriz.
Örneğin;

  • Kullanıcıdan bir form vasıtası ile değerler alıyoruz. Lakin gelen değerleri veri tipine göre ayıramazsak hepsini string olarak kabul etmemiz gerekir. Bu durumda hesap makinesi nasıl yapılabilir ?
    Konuyu fazla dağıtmadan sadete geliyorum. Service olmazsa olmaz değildir ! TEKNİK AÇIDAN ! TEORİK AÇIDAN ! Lakin pratik te işlerin daha kolay ve sağlıklı ele alınabilmesi, daha modüler kod yazılabilmesi açısından şarttır.
Last modified: 12 November 2019

Author

Comments

Write a Reply or Comment

Your email address will not be published.