Java'da IoCC: Birinci Seviye Modül

Tam metin 2103 Kelimeler, tahmini öğrenme süresi 7 dakika

Kaynak: Pexels

Bu sefer Xiaoxin, geçmişte bahsedilen program türünden daha genel bir modül tipi sistem tanıtacak.

Hazır mısın?

Not: Bazı işlevsel programlama dilleri ayrıca birinci seviye modülleri tanımlamaya çalışır. Bu makalede tanımlanan birinci seviye modül, ters fonksiyondan oluşturulmuştur.

Birinci Sınıf Program

Bir program sınıfının tip tanımı aşağıdaki gibidir. Bağımlılıklar otomatik olarak bağlandığı için bağımlılık türlerini hariç tuttuğumuzu unutmayın.

FirstClassProcedureType {Sınıfı < ? > parameterType; ContinuationType devamlılıkları;} ContinuationType {Dize adı; Sınıf < ? > argumentType;}

Bir program türü, mantığı daha da birleştirebilen ve istisnaları işleyebilen bir giriş parametresi ve birden fazla sürekli çıktıya sahip olarak tanımlanır.

Modül

Bir program sınıfındaki yöntemler, işlevler vb. İçin, bir girdi ve birden çok çıktı iyidir. Bununla birlikte, sistem yükseltildiğinde, giriş / çıkışın daha karmaşık hale gelmesi olmamalıdır, ancak giriş / çıkışın karmaşıklığı azaltmak için paketleme için bir arayüz sağlaması umulmaktadır. Kapsülleme olmadan, uygulamanın karmaşıklığının modüler hale getirilemeyeceğini lütfen unutmayın.

Modül arayüzünü etkinleştirmek için aşağıdaki giriş / çıkış türlerini oluşturun:

InputType {Dize adı; Sınıf < ? > parameterType;} OutputType {Dize adı; Sınıf < ? > argumentType;}

Bu türlerin neden yaratıldığını açıklamak için, herkesin anlamasına yardımcı olmak için ters bağlantı kontrolünün görsel konfigürasyonunu kullanacağım.

Aşağıdaki modül yapılandırması, tek bir girişi temsil eden ve ardından sonucu veren bir program türü tarafından kontrol edilir:

Yukarıdaki konfigürasyonda, bir tür program bir modül içinde kapsüllenmiştir. Modülün gösterdiği şey yalnızca girdi ve çıktıdır. Yukarıdaki modüllerin sonuç türleri aşağıdaki gibidir:

· "Giriş" adlı giriş, parametreler bir program sınıfına aktarılır

· "Çıktı" adlı çıktı, parametreler bir tür program yürütmesinin sonuçları tarafından sağlanır

Ancak bu, bir program arayüzleri sınıfını iyileştirmez.

Modülün işlevini gerçekleştirmek için bir türdeki birden çok programı kapsüllemek yararlıdır:

Yeni program modüle dahil edilmesine rağmen arayüzü değişmemiştir. Bu modülü kullanan diğer yapılandırmalar, başka bir birinci tür işlemin dahili olarak eklenmesinin farkında olmayacaktır.

Tek bir giriş ve çıkışla sınırlı değildir. Birden fazla giriş ve çıkışa sahip keyfi olarak karmaşık bir modül olabilir:

Oluşturulan modül, ayrıntıları aşağıdaki arayüzlere sahip olacak şekilde kapsüller:

· "Giriş" girin

· "İnput-2" girin

· Çıktı "çıktı"

· Çıkış "Çıkış-2"

· Çıkış "Çıkış-3"

Modül türü

Oluşturulan modül türleri aşağıdaki gibidir:

SectionType {InputType inputs; OutputType çıktıları}

Modüllerin (segmentlerin) birden çok girişi ve birden çok çıkışı vardır. Bu girişler / çıkışlar, diğer modüllerin karşılık gelen çıkışları / girişleri ile bağlanabilir.

Ek olarak, modülün kendisi başka modüller içerebilir. Giriş / çıkış bağlantıları kombinasyon için kullanıldığından, modül birinci proses türü ile aynı giriş / çıkış bağlantılarına sahiptir. Aşağıdaki yapılandırma, bu makalenin başında bulunan modülü başka bir modüle nasıl yerleştireceğinizi gösterir:

Birinci tip programın bir veya iki modülünü içerip içermediğine bakılmaksızın, birinci tip işlem kapsüllenir ve yukarıdaki konfigürasyonla ilgili değildir. Modülün kullanımı modülün giriş / çıkışı ile sınırlıdır. Modülün geri kalanı kapsüllenmiştir. Bu, uygulamanın karmaşıklığının modülerleştirilmesine izin verir.

Kaynak: Pexels

Seviye 1 modülü

Başlık "Birinci Seviye Modül", ancak sadece modülleri görsel olarak bağlamayı tartıştık.

"Birinci seviye" olmak için modülün bir değişkene atanması gerekir ve elbette başka koşullar da vardır. Ama benim için birinci sınıf hakkında düşünmenin en kolay yolu bu.

Yukarıdaki grafik yapılandırma, programla birlikte yapılandırılan parçalar (modüller) üzerine kuruludur. Grafiksel konfigürasyon, uygulamanın nasıl modüler hale getirildiğini daha açık bir şekilde göstermek için aslında birinci seviye modüllerin (bölümler) üzerindeki bir katmandır.

Bu, bu makalede kullanılan yukarıdaki grafik yapılandırmasının OfficeFloor uygulamasında görülebilir. Yukarıdaki grafik konfigürasyon, bir "aktivite" yoluyla elde edilir. Aktiviteler, bölümün (ActivityLoaderImplsource) belirli uzmanlıklarıdır. Bu aktivite, XML'i grafiksel bir konfigürasyondan bölümler, bir program sınıfı, girdi ve çıktı oluşturmaya dönüştürür. İşlem sürecinde, her biri değişkenlere atanır, veri yapılarında saklanır, işlevlere aktarılır, işlevlerden döndürülür, vb. Böylece gerçek imtiyaz (modül) "birinci seviyeye" aittir.

Bu süreklilik tabanlı giriş / çıkış arayüzü çok esnektir, bu nedenle bir program türünün kendisi yalnızca bölüme özel bir işlemdir (bkz. ProcedureEmployer).

sonuç olarak

Kaynak: Pexels

Birinci seviye bir modülde bir program sınıfının nasıl kapsülleneceğine ve kendi başına bir birinci seviye modülü nasıl kapsülleyeceğine tanık oldunuz.

Makale ayrıca grafik yapılandırmasının "birinci sınıf" özelliğinden nasıl yararlandığını da gösterir. Grafiksel konfigürasyon aslında aşağıdakileri sağlayan daha yüksek seviyeli bir kombinasyondur:

· Anlaşılması kolay uygulama modülerliği

· Uygulamaları daha hızlı yapılandırın (etkili bir şekilde sadece kompozisyon için çizgiler çizin)

Uygulamayı programlı olarak yapılandırmanın tamamen mümkün olduğunu unutmayın. Bununla birlikte, bu, birinci düzey süreç / modül hakkında daha derin bir anlayış gerektirir - küçük bir geliştiricinin ilk başta umabileceğinden çok daha fazlası.

Bu nedenle, birinci seviye modülün grafiksel konfigürasyonu modüler bir uygulama oluşturmak için çok basittir ve temeldeki yapının karmaşıklığı ile uğraşmak gerekli değildir. Diğer kombinasyon stratejilerinin hala sorunları var.

Fırsat bulduktan sonra, birinci seviye modülün mevcut farklı kombinasyon stratejilerinin bir kombinasyonunu nasıl sağladığını inceleyeceğiz.

Bu noktada, mevcut kombinasyon stratejisinin sadece küçük bir programlama aralığını dikkate aldığını, kapsamın genişlediğini ve birinci seviye modüllerin modülerleştirme ve basitleştirilmiş uygulamalarda daha etkili hale geldiğini görebilirsiniz.

Yorum Beğen Takip Et

Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

Yapay zeka, ticari satın alma stratejileriyle nasıl işbirliği yapıyor?
önceki
Four AI Gods'tan Wu Enda: Google ve Baidu'dan ayrılmak için çok şey yapmam gerekiyor
Sonraki
kaçırma! Veri izleme için Python hileleri
Bilgisayar biliminin yasalarını anlayın
Bugün Xinsheng | Otonom sürüşün eski Uber başkanı iflas etti ve Google'a tazminat ödedi
En uygun eğitimi oluşturmak? Yapay zeka, eğitim alanının dönüşümünü nasıl teşvik ediyor?
Buna inanabiliyor musun? Bu 8 AI teknolojisi gerçekleştirildi ...
Özel zamanlarda Rizhao 1 Nolu Ortaokulunun öğretmenleri düşünür, öğrenir ve büyür
Shandong Hafif Sanayi Meslek Yüksekokulu "Bulutta Takdir" i açtı, hafızanızdaki kampüs ile aynı mı?
Söğüt ağacı filizlenir ve dağ çiçekleri her yerde çiçek açar! Xiagang Kasabası, Taishan Manzara Alanı şu anda bahar manzarası çok güzel
"Pin Ju Hua Jian Tang": Antik cazibede "net ünlü kitap barında" yeni bir yaşam deneyimi
Wuhan Yan Chunfang'ın "Maske" şiiri ve Afrodit'in "Maske" okuma hakkındaki düşünceleri
Fujian Ningde, yoksulluğun azaltılmasına yönelik kurumsal garantiler sağlamak için 13 önlem getirdi
Kuaishou Güzellik Teknik Raporu: 10W + hayranları olan satıcıların sayısı 36 kat arttı
To Top