Tasarımlar Grafikleri problem çözme görevleri, geniş bir çeşitlilik kapsaması amaçlanır. Yani soyutta, yapılan çeşitli işleri temsil etmenin bir yolunun olması ve bu desene karşı bir tasarım desenini eşleştirmenin bir yolu olması gerekir. Genel olarak bunu yapmak "AI-hard".
spesifik bir gösterimi "çalışma yapılan"
açıkça bilgisayar kaynak kodudur. Şimdi tasarım deseni eşleştirme problemi, ilgilenilen problemi sergileyen ve istenen patente ulaşmak için kaynak kodunu değiştiren bir dizi adım olarak "örüntüyü" (ör., Çözelti) uygulayan bir dizi kod parçasına karşı eşleştirmedir. Böyle kalıplarını ifade ve otomatik kaynak kod değişiklikleri etkileyebilir
bir araç bir Program Transformation motorudur. Genellikle bir motorla yaptığınız şey, geniş bir tasarım deseni kümesini bir araya getirmek, bunları kaynak-kaynak yeniden yazma kuralları olarak tanımlamak ve daha sonra bir kod parçasını dönüşüm motoruna aktarmaktır. -match/değiştirme adımı. Tabii ki en zorlu çalışma, tasarım kalıplarının dönüşüm kuralları olarak kodlanmasıdır, çünkü çoğu tasarım deseni düzyazılarla yazılmıştır ve kesin ayrıntılar hakkında biraz bulanık olma eğilimindedir. (Program dönüştürme motoru çok zor bir işlemdir, ancak tartışmasız bir şekilde yapılmıştır.)
Program dönüşüm motorları, refactorings (iyi bilinen bir tasarım desenleri sınıfı), dil çevirisi (büyük "tasarım deseni) uygulamak için kullanılmıştır. uygulama ") ve yeni gereksinimleri karşılamak için API'ları yeniden şekillendirme gibi kod yapılandırmaları (yaptığım belirli bir örnek, C++ kod API'lerinin CORBA uyumluluğuna dönüştürülmesini otomatikleştirmektir).
+1 hoş bir dokunuş. Tasarım kalıplarını, uygun yerlerde derinlemesine anlamak ve kullanmak için ihtiyaç duyduğunuz bir şey olarak nasıl ele aldığınızı; ve onları bilmek faydalıdır, böylece niyetlerinizi arkadaşlarınızla iletebilirsiniz.Bunun yerine 'kodunuzu tasarım örüntülerinin bir araya gelmesi' yaklaşımına dönüştürürsünüz. Daha fazla insanın eski yaklaşımı benimsemesini isterdim çünkü merdivenden yararlananlar tüm tasarım kalıpları kavramını kötü bir isim veriyorlar. –