Ana içeriğe atla

ASP.Net için ekran nesnesi tasarlama

WEB formlarında kullanmak için özel (custom) nesne tasarlamak, sıradan bir nesne türetme işinden farklılık göstermektedir. .Net ortamında yaygın olarak kullanılan attribute sınıflarının tam olarak ne işe yaradığını ve ne zaman kullanıldığını basit örneklerle denemek ve sonrasında gerçek ürünü geliştirmek verimli bir ürün geliştirme yöntemi olacaktır.

Özel bir nesne tasarımına başlarken önemli olacağını düşündüğüm birkaç satır bilgi;
  • ParseChildren(True) : Geliştirilecek nesnede, tag'ler arasında inner bilgilerinin olacağını bildirmektedir. Bu attribute kullanılmazsa compiler tag'ler içinde yer alan özellik (property) değerlerini göz ardı edecektir.
  • NonVisualControl : Geliştirilen nesnenin yardımcı bir nesne olduğunu, form üzerinde saklanabileceğini ancak görünmemesi gerektiğini bildirmektedir. (örnek: SQLDataSource nesnesi)
  • Designer : Bu attribute, tasarım (design) aşamasında nesneyi hangi sınıfın yöneteceğini göstermektedir. Nesneyi yöneten nesneler ile, özellikler eklenebilir/çıkarabilir, olaylar kapatılabilir ve/veya nesnenin tasarım aşamasındaki görüntüsü (rendering) belirlenebilir
  • ProvideProperty : IExtenderProvider ara yüzü kullanıldığında anlamlı olacaktır.
  • Category : Nesneye eklenecek özelliğin, properties penceresinde hangi başlık altında çıkacağını göstermektedir.
  • Description : Özellik veya sınıf hakkında ek bilgi sağlamaktadır. Bu bilgi, properties penceresinin altında yer alan alanda gösterilmektedir.
  • NotifyParentProperty: Özellik basit bir tip yerine karmaşık nesne şeklinde kullanılıyorsa ve kendi özelliklerinde yapılan değişiklikleri bağlı olduğu nesneye aktaracaksa true parametresi ile kullanılmalıdır.
  • Browsable: Bir özellik ASPX formu üzerinde serialized edilmiş bilgiyi tutmak için tasarlanmış olabilir. Bu durumda olan bir özelliği properties penceresinde görünmemesi için false parametresi kullanılmalıdır.
  • DefaultValue: Bu sınıfın belirtilmemiş olması durumunda IDE, özellik değerini saklamamaktadır. string bir özellik varsa ve ön değeri boş (empty, null) ise [DefaultValue("")] şeklinde tanımlama yapılmalıdır
  • PersistenceMode: Özellik değerinin nasıl bir düzende saklanacağını göstermektedir. Attribute veya inner düzende bilgi saklanabilir.
.Net framework ortamında basit bir grid nesnesini tasarlamak için bilinmesi gereken yüzlerce attribute sınıfı ve constructor parametresi yer almaktadır. Dilin kendi kendini tanıtması, özelliklerini belirtmesi ve ifade edebilmesi bir yandan faydalı ancak diğer yandan tasarımcıyı mimari kavramlardan uzaklaştırmaktadır.

MS ürünleri, maksimum oranda kullanılması için değişik sihirbazlarla donatılmıştır ancak nesne tasarımı, script kod tasarımı gibi biraz daha özel işlerde bu tür sihirbazlar birden ortadan kaybolmaktadır. Visual studio içinde, refactoring araçları gibi property eklerken de bir sihirbaz olsa ve designer ortamı için gerekli olan yüzlerce soruyu bir form üzerinde sorsa ve daha sonra attribute değerini koda otomatik olarak yazsa gerçekten çok çok iyi olurdu.

Kendi içimde tekrar şunu düşünmeden geçemiyorum;

Yazılım mühendisliği kavramlarını incelediğim dönemde bazı kaynaklar, genelde ABD tabanlı yazılımcıların sistemleri tasarladığını, mimari kavramlara karar verdiğini diğer ülkelerdeki yazılımcıların ise sadece yazdığını veya yazılanları sistemleri kullandığını ifade ediyordu.

Gerçek payı var mı?

Bu blogdaki popüler yayınlar

Zeki sistemler

Zeki sistemler: Yapay zeka tekniklerini kullanan sistemlerdir. Sistem: Ortak bir amaca hizmet etmek için bir araya gelmiş bir ya da birden fazla elemanın uyum içinde çalışmasıdır. Melez Zeki Sistemler: Bir ya da birden fazla zeki sistemin bir araya gelmesi ve uyum için çalışmasıdır. Neden melez sisteme ihtiyaç var? Birçok iyi sistem bir araya getirilerek daha iyi sistemler oluşturulabilir. Uzman sistemlerdeki kararlılık, Genetik algoritmaların rastgeleliği ve True/False olarak ifade edilemeyen ancak yine de çözüm beklenen durumlarda bulanık sistemlerin kullanılarak "Melez Sistemlerin" tasarlanması birçok soruna çözüm sağlayabilir. Üst Zeki Sistemler: İnsan zekasına biraz daha yaklaşmayı hedefleyen ve şuan üzerinde düşündüğüm, çok daha fazla kaynak okumamı gerektiren sistemlerdir. Bu sistemlerle insan zekasına biraz daha yaklaşılması hedeflenebilir. Üst ( Meta ) Zeki Sistem (ÜZS) ile aynı anda birden fazla yapay zeka tekniği ya da alt sistemler kullanılabilir. Görüntü tanıma t

Inposia olarak «e-İrsaliye özel entegratörlük test sürecini» başarıyla tamamladık.

Göksel Üçer - Netle - Netle by Avalara

  Merhaba Arkadaşlar, Zaman çok hızlı geçiyor, biraz geç kalmış olabilirim ve Urla'daki kablosuz ağ üzerinden bu mesajımı da paylaşmak istemedim 😊 Netle'ye geçtiğim ilk yılları hatırlıyorum. Temmuz 2011 döneminde her şey bir anda olmuştu. Yönetici pozisyonundan à şirket sahibi olmak gibi durum değişikliği genelde uzun sürer, planlı olur ve stratejiler belirlenerek yapılırdı ama böyle olmadı. Hayatın bize getirdiklerine razı geldik. Her şey çok hızlı gelişti. Bir anda şirket sahibi olmuş ve diğer kurucu ortaklarımla çalışmaya başlamıştım.  Farklı hedefler, farklı çözümler ve farklı gereksinimler hep vardı ve önemlisi de bunları besleyen, büyüten, gerçekleştiren çok sıkı-yakın-dostlarım oldu. Birlikte yazdık, birlikte hayal ettik, birlikte geliştirdik ve birlikte farklı paradigmaların ulusal yazılımlarına kazanımlarını sağladık. İki ana kolda, aynı omurgada (middle-ware) tek bir şirket stratejisi ile bunu yapmak tabii ki kolay olmadı. Elde olmayan nedenlerden dolayı beklenmeyen