设计模式原则
1.单一职责原则
2.开闭原则:抽象约束,封装变化
例如:矩形和圆类,需要获取它们的面积
// 面积计算器
class AreaCalculator
{
double area(Rectangle shape)
{
return shape.getWidth() * shape.getHeight();
}
}//此设计不利于扩展,可设计一个shape接口类实现计算面积
优化:
class shape
{
double getArea();
}
class juxing:public shape
3.里氏替换原则:关于继承
例如:企鹅、鸵鸟和几维鸟从生物学的角度来划分,它们属于鸟类;但从类的继承关系来看,由于它们不能继承“鸟”会飞的功能,所以它们不能定义成“鸟”的子类。同样,由于“气球鱼”不会游泳,所以不能定义成“鱼”的子类;“玩具炮”炸不了敌人,所以不能定义成“炮”的子类等。
对于正方形和长方形最好的做法是再添加一个父类,他们同时继承自这个父类。
对此修正方法是取消原来的继承关系,重新设计它们之间的关系
4.依赖倒置原则
例如:商店与顾客,顾客从不同的商店购物
class customer
{
void shopping (711shop shop){shop.sell}}
}//此写法不利于扩展
优化:设置统一接口类shop,增加新的shop则只需要继承shop类即可
class customer
{
void shopping (shop shop){shop.sell}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Martin's Blog!
评论
ValineDisqus
