Jorge Marquez Jose Gomez

Auteur du fichier

Architecture MVC

par sur Nov.17, 2011, sous Général

Je vous laisse, j'ai fait une présentation sur l'architecture MVC est une explication très conceptuel et au-dessus, mais assez à mon avis,
à être compris que l'architecture.
Profitez-en!

Architecture MVC

más... Laisser un commentaire : , , , , , plus ...

Dénué de sens

par sur Dec.06, 2010, en vertu de personnel

Eh bien, je ne suis pas habitué à avoir des choses qui arrivent suelan moi, mais c'est récemment que je ne vis que pour le collège. Je ne fais rien de plus que de livrer un travail là-bas, faire une livraison là, putain ... c'est trop. Eh bien, j'espère que tout cela des fruits dans l'avenir, car en vérité, je ne peux pas voir l'avenir dans ce domaine.
Vous cherchez une bonne dans le monde du calcul de ceux qui réussissent sont ceux qui ont un document qui ne sait même pas ce qu'elle est ou faire une présentation powerpoint qui est le repera (et je ne les ai pas fait) .... Je ne pense pas que c'est la première fois cela arrive dans toute société, il arrive à tous.

J'ai, j'ai décidé de faire la course est simplement parce que ce pays a titulitis si TITULITIS. Grâce à ce que j'ai travaillé (pas beaucoup, mais assez pour voir les choses que j'ai vu), j'ai remarqué que les gens ne savent pas ce qu'ils ont étudié, les soins sencillamentente de transmettre ce qu'ils ont appris dans son enseignement ... où étaient les idéaux de la curiosité et de l'intrigue? qui est, pourquoi les gens ne se soucient pas maintenant à savoir pourquoi telle chose se produit. Machines semblent s'appliquer théorèmes, les algorithmes, les idéaux apprises.

Comme le disait Einstein:

Ne jamais considérer l'étude comme une obligation mais comme une opportunité d'entrer dans le monde beau et merveilleux de la connaissance.

Ce n'est pas ainsi, parce que les gens se soucient d'étudier pour trouver un emploi (qui n'est pas mauvais de l'autre côté), mais nous perdons beaucoup. Nous perdons les idéaux pour lesquels nos ancêtres étaient sur la terre, Albert Einstein, Max Planck, Isaac Newton, Aristote ... etc .. si ce sont des penseurs véritables et non pas ce que nous avons aujourd'hui.

Lorsque vous êtes dans l'entreprise réalise ces choses, être un analyste est conscient de beaucoup de détails de ce type, les chefs qui n'ont aucune idée de ce qu'ils disent, les réunions ne trouvez pas lui mettre fin à des produits nuncan sont terminées à définir (et je vous dis que vous définissez votre!). Enfin, et quand vous mettez un peu d'ordre et de bon sens dans le cas où vous vous rendez compte que rien de bon, parce que ce qui est la main envoie «divin».

Mais tout cela fait partie de la vie ... la vie que nous vivons ...

más... 1 Commentaire : , , , plus ...

Blog Nouveau

par à nov.27, 2010, sous Général

J'ai fusionné le blog dojava DoNet et aussi d'élargir le sujet et afin d'aider plus dans le blog. J'espère que l'alimentation tant.

Laisser un commentaire plus ...

Usine modèle (usine)

par à ago.27, 2010, sous DoNet

Un modèle de fabrique sert à canaliser toutes les créations d'objets en un seul point. Ceci est utile pour la conception robuste de notre système et de s'adapter aux changements.

Le modèle de fabrique peut être combiné avec le pattern singleton car il est plus confortable à utiliser et la forme utile d'utiliser. Dans cet exemple nous allons mettre une usine sans singleton.

Pour dire le modèle d'usine est des modèles créationnelles, ce type de modèle qui fait abstraction de la manière de créer des objets concrets, donnant ainsi un soutien pour créer des objets dans l'abstrait.

Pour démarrer un modèle de fabrique consiste à effectuer:
- Une fonction ou une méthode qui est responsable de la création d'objets d'un type donné.
- Il n'est pas obligatoire mais recommandé que la fonction ou la méthode retourne une abstraction (interface ou classe abstraite).

Imaginez un magasin de pizza nécessite un logiciel dont vous avez besoin d'avoir un certain nombre de produits (pizzas variées). En tant que concepteurs, nous sommes bien, la création d'objets pizza peut être fait à partir de n'importe où dans le projet, mais le problème c'est qu'il ya de nombreux types de pizzas. Pour créer chaque pizza pour chaque type dans différentes parties du programme serait la première chose que vous pourriez penser, mais ... si, au lieu que nous utilisons le bon sens et d'appliquer l'usine?, Cela nous permettrait aussi d'un nouveau produit ou un changement de l'un d'eux que le changement à un seul endroit, en prenant plus contrôlé ce code. Même si vous vous rendez compte de la vitesse de changement est beaucoup plus pour aller changer toutes les apparences possibles de nos pizzas par le code.
Eh bien, l'usine serait responsable de la création de toutes sortes de pizzas et d'offrir tous les points possibles du programme.

Notre exemple serait:

- Le IPizza interface:

     IPizza l'interface
     {
         Nulle WhoAmI ();
     }

- Les pizzas individuelles:

     public class PizzaBarbacoa: IPizza
     {
         Membres de la région # IPizza

         public void WhoAmI ()
         {
             Console.WriteLine ("Je suis une pizza barbecue");
         }

         # Endregion
     }
     public class PizzaMargarita: IPizza
     {
         Membres de la région # IPizza

         public void WhoAmI ()
         {
             Console.WriteLine ("Je suis un Margarita pizza");
         }

         # Endregion
     }
     public class PizzaPepperoni: IPizza
     {
         Membres de la région # IPizza

         public void WhoAmI ()
         {
             Console.WriteLine ("Je suis un pizza au pepperoni");
         }

         # Endregion
     }

- L'usine en question:

     public class PizzaFactory
     {
         public enum tipoPizza
         {
             Pepperoni, Margherita, Barbecue
         }

         IPizza publique getPizza (type tipoPizza)
         {
             Interrupteur (Type)
             {
                 cas tipoPizza.Barbacoa:
                     return new PizzaBarbacoa ();
                     break;
                 cas tipoPizza.Margarita:
                     return new PizzaMargarita ();
                     break;
                 cas tipoPizza.Pepperoni:
                     return new PizzaPepperoni ();
                     break;
                 par défaut:
                     return new PizzaBarbacoa ();
             }
         }
     }

- Un petit test:

     Test de la classe publique
     {
         public void testPizza ()
         {
             / / Exemple ne pas utiliser l'usine
             IPizza pizza1 = new PizzaBarbacoa ();
             pizza1.quienSoy ();
             IPizza pizza2 = new PizzaMargarita ();
             pizza2.quienSoy ();
             IPizza pizza3 = new PizzaPepperoni ();
             pizza3.quienSoy ();
             IPizza pizza4 = new PizzaBarbacoa ();
             pizza4.quienSoy ();
             IPizza pizza5 = new PizzaMargarita ();
             pizza5.quienSoy ();

             / / Exemple d'utilisation de l'usine
             PizzaFactory PizzaFactory usine = new ();
             IPizza pizza6 = factory.getPizza (PizzaFactory.tipoPizza.Barbacoa);
             pizza6.quienSoy ();
             IPizza pizza7 = factory.getPizza (PizzaFactory.tipoPizza.Margarita);
             pizza7.quienSoy ();
             IPizza pizza8 = factory.getPizza (PizzaFactory.tipoPizza.Pepperoni);
             pizza8.quienSoy ();
         }
     }

Comme vous pouvez voir comment utiliser et ses avantages sont une meilleure. J'espère que vous aimez!. Rendez-vous plus tard!

más... Laisser un commentaire : , , , plus ...

Log4net pour C #

par à ago.25, 2010, sous DoNet

Eh bien aujourd'hui, je vais vous raconter un peu comment configurer log4net pour C #. Mais avant que je vous dis que c'est log4net.

Log4net est un cadre log4java porté la bibliothèque, qui fournit tous les outils possibles pour faire une exploitation forestière, la gestion des erreurs, suivi toutes vos applications pour les applications possibles. À mon avis, le journal est aussi bon comme je l'ai essayé jusqu'à présent et il est très facile à configurer. Offres modes de surveillance et même de créer plusieurs vous vous-même. Cette librairie vous pouvez obtenir http://logging.apache.org/log4net/index.html .

Expliquer certains concepts liés à log4net.

Log4net propose plusieurs niveaux de contrôle prédéfini:

1. Debug: Ceci est habituellement utilisé pour les lignes de débogage.
2. Info: Il est souvent utilisé pour donner des informations relatives à votre demande.
3. Avertir: points d'arrêt sont possibles de votre logiciel, je veux dire, toutes les alertes importantes.
4. Erreur: Utilisé pour détecter des erreurs dans votre logiciel.
5. Fatal est utilisé pour détecter les erreurs importantes dans le logiciel, à savoir empêcher le fonctionnement de celui-ci par exemple.

Ces niveaux sont prédéfinis apporte log4net, mais vous pouvez créer des niveaux personnalisés.

Un autre point fort est les appenders, c'est juste la façon dont les différents niveaux de log4net sera surveillé / connecté log4net là elles englobent:

1. FileAppender: les journaux sur le niveau défini dans le fichier de configuration.
2. RollingFileAppender: les journaux sur le niveau défini dans la configuration dans un fichier qui tourne en fonction de leur poids.
3. SmtpAppender: les journaux sur le niveau défini dans la configuration et est envoyé à un destinataire.

Plus tard, vous verrez un exemple de la définition de ces niveaux configurés. Pour plus de détails de toutes les propriétés que vous pouvez voir les appenders Web que vous avez ci-dessous.

Tout ce que vous pouvez voir en détail sur cette page web http://logging.apache.org/log4net/release/config-examples.html .

Begin.

La première étape consiste descargaros la bibliothèque de l'ancien site, une fois téléchargé, vous devez ajouter cette bibliothèque pour vos références de projet. Ensuite, nous allons définir les log4net dans le fichier de configuration de votre demande, si une application Web est le web.config, si l'application de console app.config, etc ...

Dans la balise "configuration" -> "ConfigSection" -> agregad la ligne suivante:

  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821"/> 

Puis une nouvelle balise que nous avons appelé "<log4net>" les appenders sont configurés il. Chacun a ses propres paramètres dans le site précédent, vous pouvez voir tous. Sous log4net Exemple

Une fois que nous avons cela, vous utilisez déjà nos log4net dans votre application. Une exigence à satisfaire est que chaque classe doit initialiser log4net dans son constructeur pour qu'il soit comme illustré dans le code suivant:

  classe de test
 {
 Ilog journal privé;
 test public ()
 {
 log4net.Config.XmlConfigurator.Configure ();
 = log LogManager.GetLogger (this.GetType ()) / / ici nous procédons à initialiser le journal objet.
 } 

Pour faire usage de notre journal est simple, il suffit d'appeler les différents niveaux d'alerte qui a par le journal objet.

J'espère que vous servir de semences avec log4net.

Salutations!

más... Laisser un commentaire : , , les , de plus ...

Des modèles de conception uniques (Singleton) et décorateur (Résumé ou décorateur). NET

par à nov.24, 2009, sous DoNet

Eh bien, après ma léthargie (désolé de ne pas poster plus tôt, mais l'université, je ténia a submergé), je vais parler de quelques modèles de conception. NET.

Mais d'abord un peu "l'histoire":

Les design patterns sont utilisés pour diverses choses, (tiré de wikipedia):
* Fournir des catalogues d'éléments réutilisables dans la conception de systèmes logiciels.
* Pour éviter les répétitions dans la recherche de solutions aux problèmes connus et résolus avant.
* Formaliser un vocabulaire commun entre les concepteurs.
* Normaliser le mode de conception est réalisée.
* Faciliter l'apprentissage de nouvelles générations de créateurs de condensation des connaissances existantes.

Et comme on dit dans wikipedia n'a pas l'intention d'imposer quoi que ce soit et d'en abuser peut-être une erreur.

Eh bien nous allons voir quelques modèles. NET.

Patron singulier (Singleton):
Ce modèle assure qu'il n'y a qu'une seule instance par classe en évitant la consommation excessive de ressources ou d'accès incompatibles. Ses utilisations peuvent être plusieurs, y compris l'accès à des paramètres globaux, l'exploitation forestière, etc ..
Le régime général est le suivant:

  PatronSingular Public Class
  Privé Partagé en tant que instanciaUnica PatronSingular

  Private Sub New ()
  'Le constructeur privé à créer la classe de l'instance
  End Sub

  Public Function partagée getInstance () As PatronSingular
  «Contrôle de la création d'objets de la classe elle-même.
  Is Nothing Then If instanciaUnica
  Nouveau PatronSingular instanciaUnica = ()
  End If
  Retour instanciaUnica
  End Function
 End Class 

Un modèle Singleton son constructeur devrait être privé de la classe est de contrôler leur propre création et en est responsable. Nous devons créer une méthode, qui est généralement appelé "getInstance ()" qui retourne cette instance de classe à utiliser.

Pattern Décorateur (Decorator):
Il fait "wrapper" des objets, dans une définition formelle de ce qu'il ne figure une fonctionnalité à des objets qui héritent d'elle et donc attribuer la responsabilité. En bref, nous donne la capacité de générer des classes avec des fonctions qui sont générées dynamiquement. Il ya de nombreux exemples de ce type. NET, y compris la gestion des fichiers (FileStream votre décorateur est Stream). Comparé à Java, ce qui correspondrait à des classes abstraites. Exemple:

  Public Class MustInherit PatronDecorador
  «Il offre une fonctionnalité de base pour tous les enfants, mais
  «Cela fonctionne différemment:
  «Par exemple:
  «Le chocolat sera tarifée différemment et la description
  «Beurre, mais les deux peuvent fondre!.
  Prix ​​Public MustOverride Function () As Double
  Description de la fonction publique MustOverride () As Double

  Melt Fonction publique () As Boolean
  «Faire fondre
  Retour Vrai
  End Function

  «Elle oblige leurs enfants à être instancié dans une manière particulière
  Public Sub New (ByVal ModificadorAcceso As String)
  End Sub
 End Class

 Chocolat Public Class
  Inherits PatronDecorador

  Description Public Overrides Function () As Double
  Retour "Chocolate"
  End Function

  Prix ​​Public Overrides Function () As Double
  10,2 Retour
  End Function

  Public Sub New (ByVal param As String)
  MyBase.New (param)
  End Sub
 End Class

 Beurre Public Class
  Inherits PatronDecorador

  Description Public Overrides Function () As Double
  Retour "Beurre"
  End Function

  Prix ​​Public Overrides Function () As Double
  3.6 Retour
  End Function

  Public Sub New (ByVal param As String)
  MyBase.New (param)
  End Sub
 End Class 

Eh bien, je l'espère à écrire plus souvent, mais le temps m'a noyé!, Dans un autre article, je décrirai le modèle de stratégie, les adaptateurs et les observateurs. Salutations!

más... 1 Commentaire : , , , , plus ...

Changement forcé de la langue dans ASP.NET

par à abr.28, 2009, sous DoNet

Eh bien, pour commencer, nous pouvons dire que les normes soutenues par. NET pour les langues que vous voyez dans le MSDN http://msdn.microsoft.com/es-es/library/system.globalization.cultureinfo (VS.80). aspx , dire aussi que la culture dans un WebForm est automatiquement activée pour chaque session utilisateur est INICE sur le web, en fonction de la langue qui est configuré dans le navigateur client.

Maintenant vient le problème que nous forcer la langue de votre choix, ou parce que notre langue permet à d'autres ou par nécessité intrinsèque fonctionnement de notre site. Compte tenu des normes mentionnées ci-dessus, nous pouvons changer notre culture comme suit:

  = Thread.CurrentThread.CurrentCulture New CultureInfo ("fr-FR")
 = Thread.CurrentThread.CurrentUICulture New CultureInfo ("fr-FR") 

Eh bien, expliquer cela un peu, dans les lignes, nous pouvons voir que nous allons changer la culture actuelle et interface du site web de la culture, cela se fait avec CurrentCulture et CurrentUICulture, tout d'abord nous établissons la culture principale du programme par le biais le thread principal de l'exécution, cela se fait en prenant le Thread.currentThread thread principal et l'établissement de la culture à cette époque.

Un autre problème que nous avons rencontrés, c'est que au moment de changer la culture, nous avons pu établir cette culture dans le fil au moment où nous voulons, mais il arrive que la page a déjà établi un changement de culture Webform avant nous, comme il existe une procédure à un niveau supérieur de la hiérarchie des classes Webform a fait ce travail et a déjà choisi la langue. Eh bien, pour résoudre ce problème et changer la langue, nous voyons réfléchi sur notre site web au moment du changement, il ya une autre solution, surcharge de la méthode "InitializeCulture" classe parente "System.Web.UI.Page" de notre WebForm, et ensuite placer le code de changement de culture, car cette procédure est le responsable de l'initialisation de notre culture avant d'être affiché sur le client. Ce serait le suivant:

  Protégé InitializeCulture Overrides Sub ()
         = Thread.CurrentThread.CurrentCulture New CultureInfo ("fr-FR")
         = Thread.CurrentThread.CurrentUICulture New CultureInfo ("fr-FR")
     End Sub 

Eh bien, ce qui ouvre l'imagination autant que vous voulez, certainement dans la valeur "fr-" vous pouvez mettre toutes les valeurs acceptées par la méthode décrite ci-dessus sur le web. Ainsi, vous pouvez changer la langue de votre site web "quand vous avez envie" : P .

Salutations!

más... 2 Commentaires : , , , , , , plus ...

CLR (Common Language Runtime)

par à abr.13, 2009, sous DoNet

Eh bien, dans ce post, je vais essayer d'expliquer ce qui est de la NET Framework, pour moi, et je pense personnellement que le CLR est une machine virtuelle du même style que la JVM pour Java Virtual Machine exécute le bytecode de la monteurs générés. NET. Les compilateurs de langage. NET est chargé de compiler le code bytecode pour MSIL (Microsoft Intermediate Language), qui est interprété par le CLR.

Le CLR compile le code MSIL bloc en temps réel, c'est à dire comme ils sont en utilisant la fonctionnalité de l'ensemble, le CLR va générer du code natif qui est finalement mis en œuvre dans l'industrie mécanique et de tenter de faire abstraction du code créé dans le machine sous l'une des langues utilisées. code machine NET.

CLR est divisée en couches dans le noyau, afin de fournir une plus grande interopérabilité avec le système et les développeurs. Ce sont:
Les niveaux de sécurité -.
Exception Handling -.
- Administration des discussions.
Gestion de la mémoire -.
Garbage collector (GAC) -

Notez que bien que c'est une "machine virtuelle" de la CLR ne fonctionne que sur Windows.

Ci-joint une petite image explicative CLR (Auteur: Leif Arne Storset , Source: Wikipedia):

CLR

Il s'agit d'un petit poste, mais je pense que les petites caractéristiques explicatives. Salutations!

más... 1 Commentaire : , , , , plus ...

En utilisant la nomenclature utilisation

par à abr.01, 2009, sous DoNet

Dites-leur que l'utilisation de la nomenclature est très utile lorsque vous utilisez l'utilisation des ressources doit nécessairement libre (accès aux fichiers, ouverture des inscriptions bd, la manipulation d'image, etc ...) pour éviter des problèmes plus tard.

Comme Visual Studio nomenclature est utilisée pour l'accès aux fichiers, mais peut être utilisé avec n'importe quelle classe qui implémente l'interface IDisposable, veiller à ce que le genre utilisé dans l'établissement à l'aide sort "Oui ou Oui" (dit le président d'un club football : P ) Les ressources que vous utilisez, à l'échec dans le bloc de code ou non, puisque c'est le Garbage Collector à partir de Visual Studio qui est responsable de l'appel de la méthode Dispose de la classe qui implémente l'interface.

Pour cet exemple nous allons utiliser pour accéder à un fichier.

L'exemple est simple, car tout ce que vous avez à faire est d'utiliser la nomenclature suivante:

  Utilisation de Fich As New FileStream ("C: \ pruebas.txt", FileMode.Open)
        'Code à écrire FAIRE FONCTIONNER LE DOSSIER
 End Using 

Ainsi, nous veillons à ce que le fichier sera publié lorsque vous avez terminé pruebas.txt le bloc en utilisant, sans causer de problèmes dans les accès suivants dans le fichier.

Il ya des cas, par exemple, l'accès aux données en déclarant le bloc nous oblige à ouvrir cet égard dans le bloc, je veux dire, de ne pas créer le bloc de l'aide et nous supposons que l'action s'ouvre et se ferme seulement (c'est vrai). Qu'est-ce que nous supposons être que dans l'exemple ci-dessus si vous ouvrez le fichier parce que la classe FileStream dans son constructeur et ouvre la ressource, mais dans le cas d'une connexion de données du constructeur connecteur n'est pas de connexion de données open dans son constructeur, qui devrait ouvrir une fois attribué la ressource.

Exemple:

  »Cette déclaration n'implique pas l'OUVERTURE DE LA CONNEXION QUE initialisation de l'objet
 Utilisation de conn As New SqlConnection ("CadenaConexion")
            conn.Open () 'Cette si nous avons dit qu'il a ouvert, et le bloc de l'aide est responsable pour la libérer (fermer la connexion)
           'Code à écrire
 End Using 

En résumé,

Que faire si nous nous sommes assurés avec un bloc à l'aide est la libération de ressources, mais l'ouverture de ces ressources, cela dépendra du type utilisé dans l'aide.

más... Laisser un commentaire : , , , plus ...

Créer blibliotecas de classes qui sont inscrits dans le COM de Windows

par à mar.30, 2009, sous DoNet

J'ai passé du temps à chercher à enregistrer une DLL dans le COM pour l'interopérabilité avec ASP 3.0, PHP, etc .. bien après la recherche et la recherche, la recherche, me briser les yeux ... etc ... c'était plus simple que je pensais. Pour enregistrer une DLL COM dans les fenêtres, nous devons d'abord définir la classe comme visible de la COM et de définir une clé ou la signature de l'assemblée. Se fait comme suit:

A. - Nous indiquer le projet qui est visible à partir de COM.

COM register

2 -. Créer la clé du projet.

paso2

Gardez à l'esprit que lorsque nous faisons la compilation des fonctions de montage (procédures) qui sont «compréhensibles» pour n'importe quel langage de programmation ne fonctionne pas. Net, qui est, si vous pouvez utiliser, fonctions, procédures, propriétés, etc .. pour revenir types de données natifs, et être plus facile à comprendre par exemple ASP3.0 php ou autre. Si une fois votre assemblée a des fonctions non pris en charge par COM COM d'inscription vous avertir lorsque vous vous inscrivez sur la machine (seulement si nécessaire pour la non-inscription. NET). . Si ces assemblées doivent être utilisés NET suffit d'ajouter l'assemblage de fenêtres, cela se fait:

A. - Ouvrir une application console à partir du chemin de Visual Studio.

. 2 - Ecrire dans la ligne de commande: gacutil-I RUTAENSAMBLADO (par exemple gacutil-I c: \ midll.dll)

Si nous avons besoin de l'interopérabilité avec COM doit enregistrer l'assembly dans les fenêtres. Il est la suivante: regasm / tlb / codebase RUTAENSAMBLADO (par exemple regasm / tlb / codebase c: \ rutadll.dll)

Cela devrait vous montrer un message de fin en anglais et qui a depuis été enregistré correctement, s'il y avait une incompatibilité (comme mentionné précédemment) les types de données pris en charge par COM, va ressembler à cette étape, le regasm demande affichée.

Eh bien, après avoir écrit ce billet "comme mon primr BONJOUR TOUT LE MONDE" : D blog. J'espère que vous voyez qu'il est utile et de faire ce post d'un blog pour aider un grand nombre .... salut!

más... 3 Commentaires : , , , , , plus ...

Vous cherchez quelque chose?

Utilisez le formulaire ci-dessous pour rechercher sur le site:

Vous n'avez pas trouvé ce que vous cherchez? Laisser un commentaire ou contactez-nous pour prendre soin.

Visitez nos amis!

Quelques sites hautement recommandé ...

Archives

Toutes les entrées, chronologiquement internautes