在学习设计模式,敲代码的过程中,遇到了一个问题。简单工厂和工厂方法代码:Operation运算类、加减乘除类代码是相同的,不想重新敲一遍,就在解决方案下面那个自己定义的项目中添加现有项。
将简单工厂中的Operation运算类、加减乘除类添加到了工厂方法中,结果在新建的接口或类中找不到引用的简单工厂的Operation等方法。后来百度之后才知道是命名空间出了问题。引用其他解决方案中的类的时候,要把项目名的命名空间也要添加进来。
这是引入的简单工厂的Operation类,我们想调用这个类的时候有两种方法
1.using 简单工厂
2.在主函数中写简单工厂.Operation.
用下面的表示比较形象,看到这里写的我才想起来,在看传智播客时讲过这些内容,只是当时没有在意。
看命名空间的时候无意间看到命名空间的一些解释,突然想起来构建小人时,自己代码总是不对的原因所在就是没有引用命名空间。
还记得敲构建模式的时候的代码吗
protected Graphics g;
protected Pen p;
g.DrawEllipse(p, 50, 20, 30, 30);
直接用了Graphics 、Pen 而没有对它进行定义。在命名空间中添加 using System.Drawing 就不会报错了。System.Drawing实现了基本的绘图类型(钢笔,字体)和对Graphics对象的定义。
要使用using System.Drawing 命名空间就要先引用System.Drawing: