2009-11-21 7 views
1

Je travaille avec une application Web de production activement développée entièrement écrite en Classic ASP. Comme la plupart des applications asp classiques, c'est un désordre plein de code spaghetti. Donc, je commence à briser des classes VB simples pour obtenir des avantages d'encapsulation de base.Développement ASP classique

Lors de la création des classes je me suis senti en conflit qu'un langage de niveau supérieur pour le faire. Y a-t-il des recommandations sur la façon dont cela pourrait être fait? J'ai deux pensées:

Objets COM et services Web. Je penche vers la voie du service Web, mais j'apprécierais grandement toute suggestion sur la meilleure façon d'encapsuler la logique métier d'un système ASP classique dans un langage de niveau supérieur.

Que recommandez-vous?

+1

On dirait que vous allez mettre en œuvre des changements majeurs à votre application ASP classique. N'est-il pas logique de passer à une technologie ASP.NET ou d'autres technologies? –

+0

@ o.k.w Je pense que c'est une sorte de question qui est posée. – AnthonyWJones

Répondre

4

Pour commencer, je vous recommande de lire à propos de MVC.

Ensuite, vous pouvez passer à un cadre qui soutiennent un tel concept, comme le ASP.NET MVC et a encore plus loin en utilisant un SoC outils, comme Castle Windsor, NHibernate, etc.

Si vous ne voulez pas embarquer sur un tel OMG start from scratch voyage, alors un service web sera la solution préférée pour encapsuler la logique métier. (en suivant le modèle de conception de modèle-vue).

Les objets COM seront une mauvaise solution pour cette tâche. Ils ne sont pas destinés aux applications Web ou à la gestion de la logique.

+1

+1 non seulement coz im un ventilateur mvc mais à partir de ASP classique (où vous n'avez pas vu asp.net webforms) MVC est presque l'approche logique –

+0

Ceci est une vieille question et réponse, mais je viens de recevoir un avis la question a maintenant 1000+ vues, donc je vais marquer cette réponse pour tous ceux qui viennent encore ici. Je suis depuis passé de l'application qui a déclenché la question, mais c'est la meilleure suggestion. – Eaphis

1

J'ai essayé de "simplifier" un site ASP classique il y a quelques mois, en utilisant principalement des objets COM. Je n'ai pas trouvé l'expérience particulièrement satisfaisante. Je n'ai pas eu beaucoup de temps à consacrer au projet et je n'ai jamais eu l'environnement de développement pour gélifier correctement, donc le débogage était une douleur continue. Ecrire les objets en C# était simple, mais les intégrer sur le serveur de production était un problème. En fin de compte, je viens de nettoyer la couche d'accès aux données et les classes associées dans l'ASP classique lui-même. Je donne parfois le meilleur retour sur investissement en termes de temps passé, etc.

Je me sens parfois comme si je devais essayer de remplacer une partie du site par des objets COM ou similaires, mais j'ai du mal à me justifier pourquoi Serais une bonne idée. Quoi qu'il en soit, quelle que soit votre approche, je vous suggère de vous assurer que votre processus de développement est aussi transparent que possible. Ce n'est pas nécessairement simple quand au moins la moitié sera basée sur ASP classique.

3

Vous pouvez être intéressé par l'utilisation de ajaxed qui a été conçu pour prendre en charge les anciennes applications ASP classiques.