c# interface 的理解(工厂模式)简单实例
由于昨天在一个大公司面试,被c#中的一个interface给难住了,所以回来以后我就找了这些资料看了一下,有了一点感觉。记录下来,方便以后使用。
c# interface定义:就是以前使用的类似于 API 的东西,别人告诉你一个类型,你在心得开发过程中可以使用。
比如:
interface ITest
{
string iText();
}
class Test:ITest
{
#region ITest Members
public string iText()
{
// TODO: Add Test.printText implementation
return ("Test string.");
}
#endregion
}
class Test2:ITest
{
#region ITest Members
public string iText()
{
// TODO: Add Test.printText implementation
return ("Test2 string.");
}
#endregion
}
class Factory
{
public static ITest create(int itype)
{
if(itype==1)
{
return new Test();
}
else
{
return new Test2();
}
}
}
private void button1_Click(object sender, System.EventArgs e)
{
ITest it=Factory.create(2);
this.label1.Text=it.iText();
}
}
Test 和 Test2 都是继承接口 ITest ,在使用ITest时候,使用了简单的Factory模式来建立,本来是使用了Rose来画一个UML模型上来也许讲解的更详细,但是Rose也是这次学习的一点,所以没有使用会,正在研究中.
一个简单的实例,让我了解到:
1、接口 Interface : 并不是我想象的那么可怕,如果我简单的理解就是一个户口登记的地方,在这里登记的用户(方法),在他的儿子(实现接口的类型: Test ,Test2)中,就必须承认Interface中的人员的存在,并且必须给安排一个位置(实现接口的内容)。所以接口的最简单的好处就是:保持了继承型,使更多的人联系起来。
2、工厂模式:Facory Model:最开始接触这些东西是在Patterns In Java 的pdf中看到的,因为模式的编程方式是对接口编程的,所以开始理解这些方面的时候理解上有问题了。现在总算能明白一点点了。工厂模式就是(ITest)的新生儿(接口的实现类: Test,Test2)的户口登记处,到时候不管你要用那个儿子,只需要在这注册一下,就ok了。
简单的一个实例,让我对接口interface和Factory Model有了最基本的认识,也是刚刚理解这些东西,所以肯定有一些漏洞,但是我会继续加油,努力把这部分学好的。
加油!
设计模式学习(九):Abstract Factory抽象工厂模式 Abstract的意思是“抽象的”,Factory的意思是“工厂”。在Abstract Factory模式中,不仅有“抽象工厂”,还有“抽象零件”和“抽象产品”。抽象工厂的工作是将“抽象零件”组装为“抽象产品”。
设计模式四: 抽象工厂(Abstract Factory) 抽象工厂模式是创建型模式的一种, 与工厂方法不同的是抽象工厂针对的是生产一组相关的产品, 即一个产品族. 抽象工厂使用工厂方法模式来生产单一产品, 单一产品的具体实现分别属于不同的产品族. 抽象工厂即是对产品族的抽象.
JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 一.final 我们来聊聊final这个关键字 final可以修饰类,方法和变量 final修饰的类不可以被继承 final修饰的方法不可以被覆盖
相关文章
- 【转】NULL,"",String.Empty三者在C#中的区别
- C# 汉字转拼音(转)
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 适合大型企业信息化应用使用的角色权限管理体系
- C#_面试
- C#Assembly的使用
- C#程序设计通过Attribute特定创建COM实例对象
- 【转载】C# 泛型详解
- c#:未将对象引用设置到对象的实例--可能出现的问题总结(转)
- vs2019 实现C#调用c++的dll两种方法
- C#用Zlib压缩或解压缩字节数组
- OpenCVSharp(C# OpenCV)图像去水印实例
- C#图像处理-OpenCVSharp教程(三十) OpenCVSharp GrabCut & FloodFill图像分割
- C#图像处理-OpenCVSharp教程(二) OpenCVSharp安装配置与简单实例
- C# Linq 交集、并集、差集、去重
- 解决C# WINFORM程序只允许运行一个实例的几种方法详解
- C#基础系列——小话泛型
- c#委托实例化和调用语句
- C#多线程编程实例 螺纹与窗口交互
- C#软件开发实例.私人订制自己的屏幕截图工具(七)加入放大镜的功能
- C#并发编程经典实例--并发编程概述
- C#抽象类应用实例
- c#串口编程(转)
- C#控件的缩写格式
- .NET C# 调用python代码 简单实例
- C# winform 控件背景颜色自定义RGB 值
- dotnet C# 获取当前设备可移动磁盘
- C# 命令行如何静默调用 del 删除文件
- C# 金额转中文大写
- C# 很少人知道的科技
- C#操作XML