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.
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.
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"
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
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).
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