第一章—简单工厂模式
面向对象四个特性
- 可维护
- 可复用
- 可扩展
- 灵活性好
让业务逻辑和界面逻辑分开,让他们之间的耦合度下降,只有分离开才可以达到容易维护和扩展
C#与Java中set和get的区别:
两者实例代码:
C#中这样几句代码: (C#中字符串型用string)
namespace SetAndGet
{
class Program
{
static void Main(string[] args)
{
Program1 p = new Program1();
p.Name="XXX";
Console.WriteLine(p.Name);
Console.ReadLine();
}
}
public class Program1
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value;}
}
}
}
Java中这样几句代码:(java中字符串型用String)
public static void main(String[] args) {
GetAndSet1 gs = new GetAndSet1();
gs.set_name("XXX");
System.out.println(gs.get_name());
}
}
class GetAndSet1 {
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Java写法:通过定义GET,SET方法来访问内部属性,达到控制器访问的目的。
命名规范:所有成员变量,最好以小写字母开头。GET和SET访问器(方法)对应的属性值则以大写字母开头。
C#写法:C#单独定义了GET,SET访问器的写法,通过暴露的成员“属性”,来达到控制访问的目的。
命名规范:成员变量,以下划线作为前缀,可省去this,避免覆盖,对于属性以大写字母开头。
C#相比于Java更加简洁,通过暴露属性方法,而不是通过调用方法来访问内部属性,不仅更直观,也简化了代码繁琐的书写。
聚合是表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分
合成(组合)是一种强“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样