软件设计
yahua_king
这个作者很懒,什么都没留下…
展开
-
设计模式
工厂方法与简单工厂 简单工厂,最大优点是工厂类中包含了必要的逻辑判断,对于客户端来说,去除了与具体产品的依赖;但是,一旦要新增产品,就必须修改工厂类的判断逻辑,这明显违背的开放-封闭原则(对扩展开放,对修改封闭) 工厂方法,则定义了一个创建对象的接口,让子类决定实例化哪一个类。新增产品时,只需要新增子类即可;但是,需要修改客户端。 工厂方法+反射,可以很好的解决工厂方法在需求变动时,需要改动客户...原创 2019-11-26 21:55:59 · 1140 阅读 · 0 评论 -
关于面向对象 “类型强转” 的个人理解
举例 假设有A,B,C三个类,继承关系如下:A <= B <= C 即,A是基类,派生出B,B派生出C. 列举如下几种,强转情况: 实例化A,无法将其强转为B和C 实例化B,可以将其强转为A,也可以强转回为B,但是无法将其强转为C 实例化C,可以将其强转为A,也可以强转为B,还可以强转回为C 原理 类型的强转,从本质上来讲,是划定指针访问的有效范围。强转失败,意味着可能发生了指针越...原创 2019-11-19 11:40:12 · 1471 阅读 · 0 评论 -
UML类图总结
用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。 各种关系的强弱顺序:泛化=实现>组合>聚...转载 2019-11-16 15:04:50 · 942 阅读 · 0 评论