软件设计
yahua_king
这个作者很懒,什么都没留下…
展开
-
设计模式
工厂方法与简单工厂简单工厂,最大优点是工厂类中包含了必要的逻辑判断,对于客户端来说,去除了与具体产品的依赖;但是,一旦要新增产品,就必须修改工厂类的判断逻辑,这明显违背的开放-封闭原则(对扩展开放,对修改封闭)工厂方法,则定义了一个创建对象的接口,让子类决定实例化哪一个类。新增产品时,只需要新增子类即可;但是,需要修改客户端。工厂方法+反射,可以很好的解决工厂方法在需求变动时,需要改动客户...原创 2019-11-26 21:55:59 · 1125 阅读 · 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 · 1446 阅读 · 0 评论 -
UML类图总结
用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。 各种关系的强弱顺序:泛化=实现>组合>聚...转载 2019-11-16 15:04:50 · 923 阅读 · 0 评论