Maison développement back-end Tutoriel C#.Net Qu'est-ce que le modèle de fabrique simple C# ?

Qu'est-ce que le modèle de fabrique simple C# ?

Jun 23, 2017 pm 04:18 PM
.net 学习 工厂 模式 笔记 简单

Titre : Créez un petit programme pour le caissier d'un centre commercial. Les situations possibles incluent : les frais normaux, 10 % de réduction, 30 % de réduction, 50 de réduction pour les achats supérieurs à 300, etc. Les différentes promotions sont susceptibles de changer à tout moment.

L'interface est la suivante :

Analyse :

Tout d'abord, nous écrivons une classe parent CashSuper pour collecter de l'argent. Cette classe parent est utilisée pour inclure diverses autres méthodes de facturation : recharge normale, 30 % de réduction, 20 % de réduction, 10 % de réduction, 50 % de réduction pour les achats de plus de 300, 70 % de réduction pour les achats de plus de 400, 100 % de réduction pour les achats de plus de 500. , etc., parmi lesquels des remises sont accordées Bien que différents, les types sont similaires et les remises complètes sont les mêmes. Par conséquent, nous pouvons diviser les frais normaux, les offres de remise et les offres de remise complète en trois catégories différentes : CashNormal, CashRebate et. Retour en espèces.

La classe parent CashSuper est utilisée pour l'héritage, nous la définissons donc sur abstract pour la réécriture. Deuxièmement, les trois sous-classes contenues dans cette classe parent appelleront toutes ensemble un paramètre : c'est le prix réel des marchandises. doit être reçu, nos paramètres doivent donc uniquement transmettre le paramètre commun : acceptMoney.

1 abstract class CashSuper2     {3         public abstract double acceptCash(double acceptMoney);4     }
Copier après la connexion

Ensuite, il y a la facturation normale : CashNormal

Tout d'abord, le paramètre qu'il obtient de la classe parent est le prix du produit réel dont il a besoin à recevoir. Il ne facture pas de frais normaux, il suffit donc de renvoyer la valeur transmise par la classe parent.

1     class CashNormal : CashSuper2     {3         public override double acceptCash(double acceptMoney)4         {5             return acceptMoney;6         }7     }
Copier après la connexion

Remise : CashRebate

C'est similaire à la facturation normale. Il hérite de la classe parent CashSuper et obtiendra les paramètres de la classe parent pour obtenir le. prix réel du produit, mais ce qu'il doit obtenir, c'est une remise sur le produit, il doit donc définir lui-même un paramètre de remise, de sorte que lorsque d'autres l'appellent, ils transmettent le paramètre de remise et qu'il puisse donner son avis. sur la remise sur le prix initial aux utilisateurs.

 1     class CashRebate : CashSuper 2     { 3         //这就是cashrebate的属性了 4         private double monRebate = 1; 5  6         //调用CashRebate的时候需要从外面将优惠程度传进来 7         public CashRebate(string moneyRebate) 8         { 9             this.monRebate = double.Parse(moneyRebate);10         }11 12         public override double acceptCash(double acceptMoney)13         {14             return acceptMoney * monRebate;15         }16     }
Copier après la connexion

Remise complète : CashReturn

C'est similaire à l'offre de remise, sauf qu'elle a deux paramètres : la ligne horizontale de remise complète et la montant de la remise. Par conséquent, définissez simplement deux paramètres pour cette classe.

 1     class CashReturn : CashSuper 2     { 3         //这就是cashreturn的属性了 4         private double CashLevel = 0; 5         private double MoneyReturn = 0; 6  7         //对外调用函数所以必须是public 8         public CashReturn(string level,string MonReturn) 9         {10             this.CashLevel = double.Parse(level);11             this.MoneyReturn = double.Parse(MonReturn);12         }13 14         public override double acceptCash(double acceptMoney)15         {16             double result = acceptMoney;17             if (acceptMoney >= CashLevel)18             {19                 result = acceptMoney - Math.Floor(acceptMoney / CashLevel) * MoneyReturn;20             }21             return result;22         }23     }
Copier après la connexion

Maintenant, nous avons plusieurs réductions, mais nous devons juger quand appeler quelle réduction. À cet égard, nous transmettons le choix de l'utilisateur, et l'utilisateur choisira la réduction après. la méthode est transmise, nous déterminons ensuite quelle méthode préférentielle appeler. Il s'agit d'utiliser le mode usine simple pour encapsuler toutes les méthodes préférentielles et les appeler davantage.

 1     class CashFactory 2     { 3         //CashSuper现在就类似double之类,返回值就是CashSuper 4         public static CashSuper createCashAccept(string type) 5         { 6             CashSuper cs = null; 7  8             switch (type) 9             {10                 case "正常收费":11                     cs = new CashNormal();12                     break;13                 case "满300减50":14                     cs = new CashReturn("300", "50");15                     break;16                 case "满500减100":17                     cs = new CashReturn("500", "100");18                     break;19                 case "满400减70":20                     cs = new CashReturn("400", "70");21                     break;22                 case "满900减200":23                     cs = new CashReturn("900", "200");24                     break;25                 case "八折优惠":26                     cs = new CashRebate("0.8");27                     break;28                 case "九折优惠":29                     cs = new CashRebate("0.9");30                     break;31                 case "七折优惠":32                     cs = new CashRebate("0.7");33                     break;34             }35             return cs;36         }37     }
Copier après la connexion

Enfin, appelez la fonction ci-dessus dans l'interface utilisateur.

 1         private void ok_button_Click(object sender, EventArgs e) 2         { 3             /**对外这边需要了解两个函数 4              * 1.CashFactory.createCashAccept,这个是为了确定每一次的购物时调用的哪一种优惠方式 5              * 2.csuper.acceptCash,这个是为了获得每种优惠方式获得的优惠结果 6              */ 7             CashSuper csuper = CashFactory.createCashAccept(typecomboBox.SelectedItem.ToString()); 8              9             totalPrices = csuper.acceptCash(double.Parse(unitPrice_textBox.Text) * double.Parse(amount_textBox.Text));10             total += totalPrices;11             listBox1.Items.Add("单价:" + unitPrice_textBox.Text.ToString() + " 数量:" + amount.ToString() + "  " + typecomboBox.SelectedItem.ToString() + " 合计:" + totalPrices.ToString());12             resultLabel.Text = total.ToString();13         }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le moyen le plus simple d'interroger le numéro de série du disque dur Le moyen le plus simple d'interroger le numéro de série du disque dur Feb 26, 2024 pm 02:24 PM

Le numéro de série du disque dur est un identifiant important du disque dur et est généralement utilisé pour identifier de manière unique le disque dur et identifier le matériel. Dans certains cas, nous pouvons avoir besoin d'interroger le numéro de série du disque dur, par exemple lors de l'installation d'un système d'exploitation, de la recherche du pilote de périphérique approprié ou de la réparation du disque dur. Cet article présentera quelques méthodes simples pour vous aider à vérifier le numéro de série du disque dur. Méthode 1 : utilisez l’invite de commande Windows pour ouvrir l’invite de commande. Dans le système Windows, appuyez sur les touches Win+R, entrez « cmd » et appuyez sur la touche Entrée pour ouvrir la commande

Comment supprimer les notes Xiaohongshu Comment supprimer les notes Xiaohongshu Mar 21, 2024 pm 08:12 PM

Comment supprimer les notes de Xiaohongshu ? Les notes peuvent être modifiées dans l'application Xiaohongshu. La plupart des utilisateurs ne savent pas comment supprimer les notes de Xiaohongshu. Ensuite, l'éditeur propose aux utilisateurs des images et des textes expliquant comment supprimer les notes de Xiaohongshu. un regard ensemble ! Tutoriel d'utilisation de Xiaohongshu Comment supprimer les notes de Xiaohongshu 1. Ouvrez d'abord l'application Xiaohongshu et entrez dans la page principale, sélectionnez [Moi] dans le coin inférieur droit pour accéder à la zone spéciale 2. Ensuite, dans la zone Ma, cliquez sur la page de note comme suit : indiqué ci-dessous, sélectionnez la note que vous souhaitez supprimer ; 3. Accédez à la page de notes, cliquez sur [trois points] dans le coin supérieur droit ; 4. Enfin, la barre de fonctions s'agrandira en bas, cliquez sur [Supprimer] pour terminer.

À quoi sert le mode Ne pas déranger de WeChat ? À quoi sert le mode Ne pas déranger de WeChat ? Feb 23, 2024 pm 10:48 PM

Que signifie le mode Ne pas déranger de WeChat ? De nos jours, avec la popularité des smartphones et le développement rapide de l'Internet mobile, les plateformes de médias sociaux sont devenues un élément indispensable de la vie quotidienne des gens. WeChat est l’une des plateformes de médias sociaux les plus populaires en Chine, et presque tout le monde possède un compte WeChat. Nous pouvons communiquer avec nos amis, notre famille et nos collègues en temps réel via WeChat, partager des moments de notre vie et comprendre la situation actuelle de chacun. Cependant, à notre époque, nous sommes également inévitablement confrontés aux problèmes de surcharge d'informations et de fuite de la vie privée, en particulier pour ceux qui ont besoin de se concentrer ou de se concentrer.

Que dois-je faire si les notes que j'ai publiées sur Xiaohongshu sont manquantes ? Quelle est la raison pour laquelle les notes qu'il vient d'envoyer sont introuvables ? Que dois-je faire si les notes que j'ai publiées sur Xiaohongshu sont manquantes ? Quelle est la raison pour laquelle les notes qu'il vient d'envoyer sont introuvables ? Mar 21, 2024 pm 09:30 PM

En tant qu'utilisateur de Xiaohongshu, nous avons tous été confrontés à la situation où les notes publiées ont soudainement disparu, ce qui est sans aucun doute déroutant et inquiétant. Dans ce cas, que devons-nous faire ? Cet article se concentrera sur le thème « Que faire si les notes publiées par Xiaohongshu sont manquantes » et vous donnera une réponse détaillée. 1. Que dois-je faire si les notes publiées par Xiaohongshu manquent ? Premièrement, ne paniquez pas. Si vous constatez que vos notes manquent, il est essentiel de rester calme et de ne pas paniquer. Cela peut être dû à une défaillance du système de la plateforme ou à des erreurs opérationnelles. Vérifier les enregistrements de version est facile. Ouvrez simplement l'application Xiaohongshu et cliquez sur « Moi » → « Publier » → « Toutes les publications » pour afficher vos propres enregistrements de publication. Ici, vous pouvez facilement trouver des notes publiées précédemment. 3.Repost. Si trouvé

Comment ajouter des liens de produits dans les notes dans Xiaohongshu Tutoriel sur l'ajout de liens de produits dans les notes dans Xiaohongshu Comment ajouter des liens de produits dans les notes dans Xiaohongshu Tutoriel sur l'ajout de liens de produits dans les notes dans Xiaohongshu Mar 12, 2024 am 10:40 AM

Comment ajouter des liens de produits dans les notes dans Xiaohongshu ? Dans l'application Xiaohongshu, les utilisateurs peuvent non seulement parcourir divers contenus mais également faire des achats, il y a donc beaucoup de contenu sur les recommandations d'achat et le bon partage de produits dans cette application si vous êtes un expert. sur cette application, vous pouvez également partager des expériences d'achat, trouver des commerçants pour coopérer, ajouter des liens dans des notes, etc. De nombreuses personnes sont prêtes à utiliser cette application pour faire du shopping, car elle est non seulement pratique, mais elle a également de nombreux experts qui en feront recommandations. Vous pouvez parcourir du contenu intéressant et voir s'il existe des produits vestimentaires qui vous conviennent. Voyons comment ajouter des liens de produits aux notes ! Comment ajouter des liens de produits aux notes de Xiaohongshu Ouvrez l'application sur le bureau de votre téléphone mobile. Cliquez sur la page d'accueil de l'application

Le mode Ne pas déranger ne fonctionne pas sur iPhone : correctif Le mode Ne pas déranger ne fonctionne pas sur iPhone : correctif Apr 24, 2024 pm 04:50 PM

Même répondre à des appels en mode Ne pas déranger peut être une expérience très ennuyeuse. Comme son nom l'indique, le mode Ne pas déranger désactive toutes les notifications d'appels entrants et les alertes provenant d'e-mails, de messages, etc. Vous pouvez suivre ces ensembles de solutions pour résoudre ce problème. Correctif 1 – Activer le mode de mise au point Activez le mode de mise au point sur votre téléphone. Étape 1 – Faites glisser votre doigt depuis le haut pour accéder au Centre de contrôle. Étape 2 – Ensuite, activez le « Mode Focus » sur votre téléphone. Le mode Focus active le mode Ne pas déranger sur votre téléphone. Aucune alerte d’appel entrant n’apparaîtra sur votre téléphone. Correctif 2 – Modifier les paramètres du mode de mise au point S'il y a des problèmes dans les paramètres du mode de mise au point, vous devez les résoudre. Étape 1 – Ouvrez la fenêtre des paramètres de votre iPhone. Étape 2 – Ensuite, activez les paramètres du mode Focus

Révéler l'attrait du langage C : découvrir le potentiel des programmeurs Révéler l'attrait du langage C : découvrir le potentiel des programmeurs Feb 24, 2024 pm 11:21 PM

Le charme de l'apprentissage du langage C : libérer le potentiel des programmeurs Avec le développement continu de la technologie, la programmation informatique est devenue un domaine qui a beaucoup attiré l'attention. Parmi les nombreux langages de programmation, le langage C a toujours été apprécié des programmeurs. Sa simplicité, son efficacité et sa large application font de l’apprentissage du langage C la première étape pour de nombreuses personnes souhaitant entrer dans le domaine de la programmation. Cet article discutera du charme de l’apprentissage du langage C et de la manière de libérer le potentiel des programmeurs en apprenant le langage C. Tout d’abord, le charme de l’apprentissage du langage C réside dans sa simplicité. Comparé à d'autres langages de programmation, le langage C

Apprenons ensemble à saisir le numéro racine dans Word Apprenons ensemble à saisir le numéro racine dans Word Mar 19, 2024 pm 08:52 PM

Lors de la modification du contenu du texte dans Word, vous devez parfois saisir des symboles de formule. Certains gars ne savent pas comment saisir le numéro racine dans Word, alors Xiaomian m'a demandé de partager avec mes amis un tutoriel sur la façon de saisir le numéro racine dans Word. J'espère que cela aidera mes amis. Tout d'abord, ouvrez le logiciel Word sur votre ordinateur, puis ouvrez le fichier que vous souhaitez modifier et déplacez le curseur vers l'emplacement où vous devez insérer le signe racine, reportez-vous à l'exemple d'image ci-dessous. 2. Sélectionnez [Insérer], puis sélectionnez [Formule] dans le symbole. Comme indiqué dans le cercle rouge dans l'image ci-dessous : 3. Sélectionnez ensuite [Insérer une nouvelle formule] ci-dessous. Comme indiqué dans le cercle rouge dans l'image ci-dessous : 4. Sélectionnez [Formule radicale], puis sélectionnez le signe racine approprié. Comme le montre le cercle rouge sur l'image ci-dessous :

See all articles