强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan
最近在学习设计模式,设计模式共23个,现在还是小菜鸟的我看了那些代码根本不懂是什么意思,还好,每个设计模式都对应着相应的类图,啊哈,看了图之后再去理解设计模式是解决什么问题的果然简单了很多,类图是UML图应用的最多的图,在看刘伟老师的csdn时候看到一段话,很好的展现了类图的应用广度,“If someone were to come up to you in a dark alley and say,'Psst,wanna see a UML diagram'that diagram would probably be a class diagram.The majority of UML diagram i see are class diagrams."类图可以很好的帮助人们理解系统,可以作为编程的模型。
【类图分类】
在第一次学习类图的时候,我理解到的类图就是简简单单的抽象出来的一个名词,其实不然,类图也可以再分为三种:
实体类:该种类就是在描述系统的时候抽象出来的名词,实体类主要是作为数据处理和业务逻辑处理层面上存在的类别;实体类的主要职责是存储和管理系统内部的信息,实体类通常都是永久性的有时甚至在系统的整个生存期都需要。它来源于系统需求中的名词,例如,用户、操作员等。
边界类:用于对外部用户和系统之间的交互抽象出来的类,主要包括界面类。例如在机房收费系统中的用户登录界面等。
控制类:控制类主要体现程序的执行逻辑,主要是由动词和名词构成的动宾结构。例如在机房收费系统中的用户充值、用户注册等类。
【依赖三方式】
类不是孤立存在的,类与类之间的关系可以很好的表示系统各个功能之间的联系,其中一种类之间的关系是依赖,依赖分三种方式:
第一种方式是将一个类的对象作为另一个类中方法的参数
Public class Driver
{
public void drive(Car car) //将Car类的对象作为Driver类中的参数
{
car.move;
}
}
public class Car
{
public void move()
{
}
}
第二种方式是在一个类的方法中将另一个类的对象作为其局部变量
public class Point
{
public int x; //x轴方向的
public int y; //y轴方向的
}
public class RectAngle
{
public Point p1,p2; //p1,p2为矩形的2个对角
public double S //s为面积
{
get;set;
}
public doubel Getmianji()
{
return Math.Abs(p2.y-p1.y)* Math.Abs(p2.x-p2.x) //计算矩形面积
}
}
第三种方式是在一个类的方法中调用另一个类的静态方法
public class xiaoming
{
public static eatdinner()
{
.......
}
}
public class eat
{
eatdinner eat=new eatdinner(); //调用小明类中的静态eatdinner()方法
}
【类图实现】
前面说到了类图可以作为编写代码的模型,我们都知道类由三个要素组成,即名称、属性、方法,我刚学习了C#语言编程,假如给一个下面的类,该如何用C#来实现呢?一起看一下图和代码就一目了然了!
<span style="font-size:18px;">Public class Person
{
private int age; //定义int类型的变量age
private name; //定义一个变量name
public void action() //声明一个action方法
{
该方法执行的操作代码
}
}</span>
【总结】
第一次验收的时候师父让我尝试着去用代码实现,当时一点方向都没有,今天学习了C#,自己写一个类的代码感觉so easy,一个系统就是由这些点点滴滴积累联系起来的,将自己所需要的功能抽象成类,依据类与类之间的联系将散的代码连接成一个代码段,再整合成一个系统代码!代码的世界真是神奇!