设计模式总结

学习设计模式之前先要知道UML类图中关系在代码中的体现:

聚合:一种弱“拥有”关系,比如雁群与大雁的关系:

class WideGooseAggregate
{
    private WideGoose[]arrayWideGoose;
}

雁群WideGooseAggregate类中,有大雁数组对象arrWideGoose。也就是A聚合B(A对象包含B对象),则B中有A的数组对象。


组合:一种强“拥有”关系,鸟和它的翅膀。

class Bird
{
   private Wing wing;
   public Bird()
   {
      wing=new Wing();
   }
}

在鸟Bird类中,初始化时,实例化翅膀Wing,它们之间同时生成。也就是组合关系中,初始化大的类时实例化小类。


依赖:就像动物依赖于氧气和水

abstract class Animal
{
   public Metabolism(Oxygen oxygen,Water water)
   {

   }
}

在动物抽象类中,在新陈代谢方法中传氧气和水的两个参数。


继承:一个对象直接使用另一个对象的属性和方法。

class Pig:Animal
{
   //Animal中的属性和方法可以直接用
}

“冒号”后边为继承对象,“冒号”后边也可以是实现对象,如果是实现,则实现对象一定是接口。


关联:一个“类”知道另一个“类”

class Penguin:Bird
{
   private Climate climate;
}

企鹅Penguin中,引用气候Climate对象。也就是关联关系中,一个类中引用另一个对象。

以上是代码体现,每个设计模式都是用其中的几个关系组成的,但是一样的关系在不同的设计模式中可能思想不一样。有的封装使封装算法,有的封装使封装类,关系也是一样,还要再多用用,才可以。


设计模式从软考期间开始学习,学了好多遍了,可是还是感觉很迷糊,不能很好的理解其中的秘诀。模式的定义能说上来,可是自己其实还是不是很明白,更不能给别人讲明白。

自己一直没有总结设计模式也是因为理解不透彻,总结也都是把书上的知识点罗列起来,这次验项目听师父讲了一些,点通了一点每个模式的总结以后见了。

学习是一个循序渐进,不断深入的过程,俗话也说书读百遍其义自见,熟能生巧,这个设计模式我还要再学习,机房重构完了之后一定就能熟练掌握了吧。

到时候再来总结我自己理解的更加深入的东西。

 

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值