软件架构设计原则之开闭原则

在面向对象编程中,六大设计原则,旨在使软件设计更易于理解、灵活和可维护。这些经验是前人经过多年实践总结的经验。

六大设计原则如下:

· 单一职责原则

· 开闭原则

· 里氏替换原则

· 接口隔离原则

· 依赖反转原则

· 迪米特原则

本文我们来介绍开闭原则。

开闭原则

在面向对象编程领域中,开闭原则指出“对象(函数、类库、模块)应该对扩展开放,对修改关闭。

所谓的开闭,也正是对扩展和修改两个行为的一个原则,旨在用抽象构建逻辑,用扩展实现细节。

想要达到这样的效果,我们需要使用接口和抽象类。

例如,购物商城以订单为例,订单分类:食品酒饮、电子产品、家具家装、图片等。

现在要给不同的订单类型做不同计算规则,美妆类订单优惠10,图书订单优惠20,食品订单不参加优惠

创建订单优惠接口。


interface IOrderCalc
{

decimal DiscountOrderCalc();
}

class BeautyOrderCalc: IOrderCalc
{
public decimal DiscountOrderCalc()
{

return 10;
}
}


class BookOrderCalc: IOrderCalc
{
public decimal DiscountOrderCalc()
{

return 20;
}
}


class FoodOrderCalc: IOrderCalc
{
public decimal DiscountOrderCalc()
{

return 0;
}
}


调用示例如下图所示


软件架构设计原则之开闭原则


总结

开闭原则的设计原则是尽可能不修改现有代码逻辑,根据需求修改扩展类或模块,达到可维护性和可靠性的目的

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章