Şeyleşme
Şeyleştirme, bir örnekleme biçimidir. Bir kavramı somutlaştırdığınızda, sağladığınız sözlük tanımı gibi soyut bir şeyi alır ve somut hale getirirsiniz.
Bir türü, olası türlerin bazı soyut sözdizimi ağacında yer alan bir terim olarak yeniden ifade etmeyi seçebilirsiniz.
Bir tasarım modelini, bazı diller için genel amaçlı bir uygulamayla gelerek somutlaştırabilirsiniz. Örneğin
template<typename T> class Singleton {
public:
static T& Instance() {
static T me;
return me;
}
protected:
virtual ~Singleton() {};
Singleton() {};
}
Tekil tasarım modelini C ++ 'da bir şablon olarak somutlaştırır.
Hoare'nin hızlı sıralama fikrini, seçtiğiniz programlama dilinde bir uygulamaya dönüştürebilirsiniz. Bu bağlamda, kavramları kategori teorisinden Haskell koduna dönüştürmek için çok zaman harcıyorum.
Bir dili o dilin tercümanı olarak yeniden tanımlayabilirsiniz. Larry Wall'un Perl fikri , perl tercümanı olarak somutlaştırılmıştır.
Veri somutlaştırmak ve vakum paketlerinin paylaşımı ile bellekte yapısal şeklini temsil eden grafik olarak terimleri reify.
Yansıma
Şeyleştirmenin diğer tarafı, somut bir şeyi alan ve genellikle bazı ayrıntıları unutarak bir soyutlama oluşturan yansımadır . Belki de bunu soyutlama daha basit olduğu için ya da bir şekilde bahsettiğiniz şeyin özünü yakaladığı için yapmak istiyorsunuz.
Java, C #, vb. Türdeki sistem yansıması, bir programlama dilinde somut bir sınıf alır ve size bir sınıfın soyut yapısını sağlayarak, sınıflarınızın sağladığı üyelerin listesine erişmenizi sağlar. Burada bir tipin somut kavramını alıyoruz ve herhangi bir belirli değeri atarken yapısını tanımlayan soyut bir terim üretiyoruz.
Bir programlama dilini bir uygulamaya nasıl dönüştürdüğünüz gibi, bazen ters yönde gidebilirsiniz. Bu genellikle kötü bir fikir olarak görülse de, bir uygulama alıp davranışının istenen özelliklerinden bir dil özelliğini yansıtmaya çalışabilirsiniz. TeX ilk olarak Knuth, sans spesifikasyonu tarafından uygulandı . TeX'in herhangi bir özelliği Knuth uygulamasından yansıtılmıştır.
(Daha resmi olarak, eğer yansımayı sizi somut bir alandan soyut bir alana götüren unutkan bir işlevli olarak görürseniz, o zaman şeyleştirme ideal olarak yansımaya bitişiktir.)
Yansıma Ben korumak paket bir terim alır ve sonra bir yeni dönem oluşturmanızı sağlar yöntemi yansıtmaktadır bunu temsil eden bir tür veren bir somutlaştırmak yöntem sağlar. Burada 'somut' alan, tip sistemidir ve soyut alan terimlerdir.