1.里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能(子类能够替换父类对象,但程序逻辑不变)
2.合成复用原则:更多的使用has-a或contanis-a来替代继承
3.开闭原则:对扩展开放,对修改关闭
4.依赖倒置原则:高层模块不应该依赖低层模块,应该都依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象
5.单一职责原则:不要存在多于一个导致类变更的原则。但这里我有一个问题---->这个单一功能职责是好,但问题是,会不会与一些代码复用冲突?比方说这个方法,本来要统计一个月的数据,又要统计一个季度的数据,还要一年的数据。比方说里面逻辑是月度需要每日数据被签署的才能统计,季度按月来,年度同理,这样其实代码是可以复用的,但因为一些细节不同,不应该重写吧?
6.迪米特原则:一个对象应该对其他对象保持最少的“了解”(这不就是解耦码?),比方说有一个外卖平台,用户点外卖,最好只需要和外卖平台打交道,不需要与商家关联---个人理解,不知道对不对
7.接口隔离原则:多个专门的接口,而不是使用单一的总接口。感觉有点像权限,将粗粒度向细粒度转化,使得权限(接口的职责)更加明确,且可以更好管理用户(调用者)的权限(功能)