AppObjectOlusturucu 1.0.5

dotnet add package AppObjectOlusturucu --version 1.0.5                
NuGet\Install-Package AppObjectOlusturucu -Version 1.0.5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AppObjectOlusturucu" Version="1.0.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AppObjectOlusturucu --version 1.0.5                
#r "nuget: AppObjectOlusturucu, 1.0.5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AppObjectOlusturucu as a Cake Addin
#addin nuget:?package=AppObjectOlusturucu&version=1.0.5

// Install AppObjectOlusturucu as a Cake Tool
#tool nuget:?package=AppObjectOlusturucu&version=1.0.5                

Uygulama Nesne Oluşturcu (App Object Creater)

Platform Bilgi
Nuget NuGet VersionNuGet Downloads
Github GitHub language countGitHub top languageGitHub commit activityGitHub last commit (branch)GitHub repo file or directory countGitHub repo sizeGitHub watchersGitHub followersGitHub Repo stars

Tanıtım

 Bu uygulama öncelikli olarak RESTfull Apilerde katmanlar (Layers) arasında iletişimi ve nesne oluşturmasını sağlamak amacı ile yazılmış bir uygulamadır. Dependency İnjection (ör. bkz.) işlemni sağlamak için genelde Kurucu Method (Constructors) ile enjecte ederek sağlamaktayız fakat katmaların ve katmanlarda bulunan sınıfların bol olması bizlere nesneleri ara yüzleri (interface) (bkz.) kullanarak temellendirip özelleştirdiğimiz sınıflara erişimlerimizin belirli merkezlerde toplamalı ve bu toplamış olduğumuz nesnelere OOP (bkz. bkz.)'nin temeli olan SOLID (bkz.)'in gereği fazla bir bağımlılık olmadan nesneye heryerden erişmeyi sağlamamız gerekmektedir.

 Paketimiz yukarıda da bilrtiğimiz OOP ve SOLID için gerekli olan tek merkezde toplama, kolay yönetim, rahat değişiklik ve düşük bağımlılık gerekbinimlerinin hepsini sağlamaktadır.

Kullanımı

 Paketizmi kullanabilmek için temel olarak iki işlem mevcuttur. İlk olarak ilgili katman içerisinde gerekli inheritance (miras alma) ve implementions (uygulamalar) yapılarak oluşturulacak nesneler belirlenmeli, ardından Program.cs vb. yerde ise servis kullanılarak gerekli kayıtların yapılıp kullanılır hale getirilmesi gerekmektedir. Sonrası ise kullanılmak istenen yerde kullanma...

Örnek:

İlk olarak ilgili katmanlarda gerekli olan interface ve classlar arasında eşlemmeler yapılır.

using AppObjectOlusturucu.Abstract;
using AppObjectOlusturucu.Concrete;

namespace MyAppBackend.ExampleLayer {

    public class ExampleLayerCreateHandler : OlusturCreateHandler, IOlusturucuCreateHandler {

        public override void CreateObj() {

            this._nextHandler = null;

            // or

            this._nextHandler = ExampleLayer1CreateHandler;

            ...
            ...


            #region example

            OlusturCreator.CreateObject<IFooClassExampleLayer, FooClassExampleLayer>();

            ...
            ...
              //your create ...
            .
            #endregion
        }
    }
}

Gerekli eşlemelerin ardından Program.cs vb. şekilde ilk başlatılacak yerden ilgi service çekilerek çalıştırılır. Not: Tüm creaters (kayıt ediciler) çağrıldıktan sonra Olusturucu ile nesne çağrılmaya gidilmelidir diğer şeilde ise Dipose edildikten sonra tekrar oluşturulmalıdır.

using AppObjectOlusturucu.Concrete.Service;
using MyAppBackend.ExampleLayer;

var builder = WebApplication.CreateBuilder(args);

...
...

builder.Services.OlusturcuServiceCreate(
    new ExampleLayerCreateHandler()
);

// or

builder.Services.OlusturcuServiceCreate(
    new ExampleLayerCreateHandler(),
    new ExampleLayer1CreateHandler(),
    new ExampleLayer2CreateHandler()
);

...
...

Kullanılması gereken diğer katmanda ise cağrılma ve nesne getirilmesi ise :

using AppObjectOlusturucu.Concrete

namespace OtherExampleLayer {
    class OtherClassOtherExampleLayer {

        OtherClassOtherExampleLayer(){

            IFooClassExampleLayer foo = Olusturucu.olustur.GetObj<IFooClassExampleLayer>();

        }

        //or

        IFooClassExampleLayer foo = Olusturucu.olustur.GetObj<IFooClassExampleLayer>();


    }
}

ya da

using AppObjectOlusturucu.Concrete

namespace OtherExampleLayer {
    class OtherClassOtherExampleLayer {

        OtherClassOtherExampleLayer(){
            
            Olusturucu.olustur;

            //or

            var a = Olusturucu.olustur;

        }

        IFooClassExampleLayer foo = Olusturucu.GetObj<IFooClassExampleLayer>();

    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.5 136 5/4/2024
1.0.4 119 5/4/2024