博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET 设计模式初探
阅读量:6423 次
发布时间:2019-06-23

本文共 1263 字,大约阅读时间需要 4 分钟。

最近,正在抓紧时间看.NET的视频,期末考试结束了,整个人也散了,找不到什么正经的事情干,没事就在实验室泡着,学习一下各方各面的知识,拓展一下思路和知识,感觉不错,呵呵。
    下面是在听WebCast的设计模式的视频时,实现的例子,比较简单,具体对模式的理解和应用还很需要深入……
using System;
namespace CSDesignPattern
{
 public enum UserType{Employee=0, Sales=1, Guest=2};//声明一个枚举,三种类型的用户
 public class User
 {
  protected string level = "Z"; //权限级别
  public string GetLevel()      //得到该用户权限,默认为Z
  {
   return level;
  }
 }
 
 public class Employee : User //继承,重新设定级别
 {
  public Employee()
  {
   level = "A";
  }
 }
 public class Sales : User
 {
  public Sales()
  {
   level = "B";
  }
 }
 public class Guest : User
 {
  public Guest()
  {
   level = "C";
  }
 }
 public class FactoryCreator
 {
  public FactoryCreator(){}
  public static User  CreateUser(UserType userType)  //根据用户类型初始化不同的用户
  {  
   User u = null;
   switch(userType) 
   {
    case UserType.Employee:
     u = new Employee();
     break;
    case UserType.Sales:
     u = new Sales();
     break;
    case UserType.Guest:
     u = new Guest();
     break;
   };
   return u;
  }
  static void Main(string[] args)
  {
   Console.WriteLine("Input Type");
   UserType t = (UserType)int.Parse(Console.ReadLine());
   User newUser = FactoryCreator.CreateUser(t);
   Console.WriteLine("Create an object:{0}" ,newUser.ToString());
   Console.WriteLine("Level = {0}",newUser.GetLevel());
   Console.ReadLine();
  }
 }
}
本文转自 august 51CTO博客,原文链接:http://blog.51cto.com/august/6903,如需转载请自行联系原作者
你可能感兴趣的文章
虚拟化系列-Citrix XenServer 6.1 XenMotion与HA
查看>>
TFS创建团队项目(三)
查看>>
对发展的一点小感想
查看>>
示例化讲解RIP路由更新机制
查看>>
eclipse不能自动编译工程的解决方法
查看>>
Powershell管理系列(九)删除Exchange用户邮箱中多余的电子邮件地址
查看>>
Swt/Jface进度条
查看>>
.NET建议使用的大小写命名原则
查看>>
Git:错误:error:src refspec master does not match any
查看>>
SSIS 数据类型和类型转换
查看>>
Oracle数据库“Specified cast is农田valid”
查看>>
数据层新思路,写数据库无关的数据层 ORM在数据库内做更为合适
查看>>
armv8(aarch64)linux内核中flush_dcache_all函数详细分析【转】
查看>>
房地产英语 Real estate词汇
查看>>
python接口自动化测试(八)-unittest-生成测试报告
查看>>
第 26 章 MySQL
查看>>
C#中三种截屏方式总结
查看>>
Spring.net 学习笔记之ASP.NET底层架构
查看>>
C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
查看>>
Java 动态太极图 DynamicTaiChi (整理)
查看>>