2008-09-25 21 views
6

Web formları modelinde uzun zamandır bir ASP.NET geliştiricisi oldum ve ASP.NET MVC ile ayaklarımın ıslak olması için yeni bir proje olarak kullanıyorum.MVC kullanarak ASP.NET'te bir API uygulamanın en iyi yolu nedir?

Uygulama, bir uygulama grubuyla iletişim kurabilmesi için bir API'ye ihtiyaç duyacaktır. Her zaman önce API'ları standart bir web hizmeti kullanarak oluşturdum.

Bir sidenote olarak, en azından bu özel örnek için API'leri oluşturma REST stiline kafa kafaya dalmak için biraz tereddüt ediyorum. Bu uygulama muhtemelen bir API versiyonlama konseptine ihtiyaç duyacaktır ve API'nın esasen sitenin tüm denetleyicilerine dağıtıldığı REST yaklaşımının bu açıdan biraz hantal olduğunu düşünüyorum. (Potansiyel versiyonlama potansiyeli gereksinimine iyi bir cevap varsa, buna tam olarak karşı değilim.)

Peki, Stack Overflow denizens mi?

cevap

7

Kilhoffer'a katılıyorum. Bir "IFacade" 'den miras alan bir "Facade" sarmalayıcı sınıfı kullanmayı deneyin. Facade sınıfınızda kodunuzu web hizmetinizi tüketecek şekilde koyun. Bu şekilde kontrol cihazlarınız sadece Cephe'ye çağrı yapacaktır. Bunun artı tarafı, aynı IFacade arabirimini uygulayan bir "DummyFacade" yı taklit edebilmeniz, aslında web servisiyle konuşmuyor ve sadece statik içeriği döndürüyor. Hizmete çarpmadan bazı birim testleri yapmanızı sağlar. Temel olarak Depozit deseni ile aynı fikir.

+1

Katılıyorum. Tüm servis tüketen uygulamalarınızda bunu tavsiye ederim. – Kilhoffer

2

Yine de, istemci tarafındaki tüketicilere veya sunucu tarafındaki tüketicilere hizmet edebilen bir hizmet katmanı öneririm. Muhtemelen, alıcıya bağlı olarak çeşitli formatlarda veri döndürüyor.

İlgili konular