Cet article présente principalement le mode d'apparence de façade du modèle de conception C# pour résoudre les problèmes d'achat dans Teemall. Il décrit brièvement la définition du mode façade et analyse les étapes pertinentes et les compétences opérationnelles du mode façade pour résoudre les problèmes d'achat avec des exemples spécifiques. dans le besoin Vous pouvez vous référer à l'exemple
dans cet article sur la façon dont le mode d'apparence Façade du modèle de conception C# résout le problème d'achat dans Teemall. Partagez-le avec tout le monde pour votre référence, comme suit :
1. Définition théorique
Le mode Apparence intègre des sous-systèmes dispersés dans un seul système, en fournissant un. -arrêter le service.
2. Exemples d'application
Description de la demande : Nie Xiaoqian et Ning Caichen sont un couple riche d'un salon de discussion chinois. Vivez dans un petit village relativement isolé.
Aujourd'hui, ils sont tous deux venus pour la première fois dans la grande ville de Guangzhou. Ils ont entendu dire que la ville de Tianhe offrait un service à guichet unique, contrairement aux petites villes où il faut courir pour acheter quelque chose.
En un seul endroit, vous pouvez acheter les vêtements, les ordinateurs, les chaussures et les Iphones que vous voulez, et vous pouvez également regarder des films à succès
Manger des glaces, apprendre le vrai kung-fu et acheter des cosmétiques et des bijoux. La ville de Tianhe est en effet un trésor.
Ok, regarde en marchant.
3. Codage spécifique
1. .Cinéma Feiyang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class Adidas
{
public void Serivce(string something) {
Console.WriteLine( "在阿迪达斯购买了: " +something);
}
}
}
|
Copier après la connexion
3. Appareils électriques Gome
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class FeiYangMovie
{
public void Serivce(string something)
{
Console.WriteLine( "在飞扬影城看了一部电影: " + something);
}
}
}
|
Copier après la connexion
4. 🎜>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class GoMe
{
public void Serivce(string something)
{
Console.WriteLine( "在国美电器 买了: " + something);
}
}
}
|
Copier après la connexion
5. Vrai Kungfu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class HaagenDaz
{
public void Serivce(string something)
{
Console.WriteLine( "在哈根达斯 买了: " + something);
}
}
}
|
Copier après la connexion
6.
7.NIKE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class KungFu
{
public void Serivce(string something)
{
Console.WriteLine( "在真功夫 吃了: " + something);
}
}
}
|
Copier après la connexion
8.UNIQUEMENT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class LukFook
{
public void Serivce(string something)
{
Console.WriteLine( "在六福珠宝 买了: " + something);
}
}
}
|
Copier après la connexion
9. Appareil Suning
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class NIKE
{
public void Serivce(string something)
{
Console.WriteLine( "在耐克店 买了: " + something);
}
}
}
|
Copier après la connexion
10.Marque de mode internationale Veromoda
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class ONLY
{
public void Serivce(string something)
{
Console.WriteLine( "在ONLY时装 买了: " + something);
}
}
}
|
Copier après la connexion
11. Consommateurs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class Suning
{
public void Serivce(string something)
{
Console.WriteLine( "在苏宁电器 买了: " + something);
}
}
}
|
Copier après la connexion
12. Teem City --- service à guichet unique
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public class Veromoda
{
public void Serivce(string something)
{
Console.WriteLine(something);
}
}
}
|
Copier après la connexion
13. Appel de fonction principale
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.Design.Gof.Facade
{
public enum ShopOption
{
Adidas = 1, DKNY = 2, GoMe = 3,
NIKE = 4, Suning = 5, Veromoda = 6,
FeiYangMovie = 7, HaagenDaz = 8, LukFook = 9, KungFu = 10
}
public class Bill {
public ShopOption Item { get; set; }
public string Something { get; set; }
}
public class Consumer
{
public IList<Bill> Items { get; set; }
public string Name { get; set; }
}
}
|
Copier après la connexion
14. Résultats en cours d'exécution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace Com.Design.Gof.Facade
{
public class TeeMall
{
private static readonly Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + @ "\Com.Design.Gof.dll" );
public void OfferService(Consumer consumer) {
Console.WriteLine( "我是: " + consumer.Name+ ",不差钱,今天来天河城玩: " );
Console.WriteLine( "----------------------------------------------" );
foreach (Bill item in consumer.Items)
{
object obj= assembly.CreateInstance( "Com.Design.Gof.Facade." + item.Item);
MethodInfo info = obj. GetType ().GetMethod( "Serivce" );
info.Invoke(obj, new object[] { item.Something });
}
Console.WriteLine();
}
}
}
|
Copier après la connexion
Résumé
< 🎜. > Teemall TeeMall devrait théoriquement inclure des références à tous les centres commerciaux
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Com.Design.Gof.Facade;
namespace Com.Design.Gof.Test
{
class Program
{
static void Main(string[] args)
{
TeeMall TeeMall = new TeeMall();
Consumer consumer = new Consumer
{
Name= "聂小倩" ,
Items = new List<Bill> {
new Bill{ Item=ShopOption.Adidas, Something= "运动服" },
new Bill{ Item=ShopOption.GoMe, Something= "苹果IPhone智能手机" },
new Bill{ Item=ShopOption.FeiYangMovie, Something= "<冰河世纪 4>" },
new Bill{ Item=ShopOption.KungFu, Something= "香菇炖鸡" },
new Bill{ Item=ShopOption.LukFook, Something= "金项链" },
}
};
TeeMall.OfferService(consumer);
consumer = new Consumer
{
Name = "宁采臣" ,
Items = new List<Bill> {
new Bill{ Item=ShopOption.FeiYangMovie, Something= "《太空一号》" },
new Bill{ Item=ShopOption.Veromoda, Something= "然后去了Veromoda时装,买了一套服装" },
new Bill{ Item=ShopOption.HaagenDaz, Something= "买了一雪糕" },
new Bill{ Item=ShopOption.Suning, Something= "在苏宁看买平板电脑" },
}
};
TeeMall.OfferService(consumer);
Console.ReadKey();
}
}
}
|
Copier après la connexion
La réflexion est utilisée ici pour éviter cette action.
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!