金融软件定制的设计原则

作者:adminy 发布时间:2019-12-30 浏览量:

  一、金融软件定制系统六大设计原则:


  1、单一职责原则(Single Responsibility Principle -SRP)


  2、开放封闭原则(Open Closed Principle -OCP)


  3、里氏替换原则(Liskov Substitution Principle -LSP)


  4、最少知识原则(Least Knowledge Principle - LKP)


  5、依赖倒置原则(Dependence Inversion Principle -DIP)


  6、接口隔离原则(Interface Segregation Principle -ISP)


  二、金融软件定制系统其他的设计原则:


  1、组合/聚合复用原则(Composition/Aggregation Reuse Principle -CARP)


  当要扩展类的功能时,优先考虑使用组合,而不是继承。如:代理模式、装饰模式、适配器模式等。


  2、无环依赖原则(Acyclic Dependencies Principle -ADP)


  当A模块依赖于B模块,B模块依赖于C模块,C依赖于A模块,此时将出现循环依赖。在设计中应该避免这个问题,可通过引入“中介者模式”解决该问题。


  3、共同封装原则(Common Closure Principle -CCP)


  应该将易变的类放在同一个包里,将变化隔离出来。该原则是“开放-封闭原则”的延生。


  4、共同重用原则(Common Reuse Principle -CRP)


  如果重用了包中的一个类,那么也就相当于重用了包中的所有类,我们要尽可能减小包的大小。


  5、好莱坞原则(Hollywood Principle -HP)


  对应于软件设计而言,最著名的就是“控制反转”(或称为“依赖注入”),我们不需要在代码中主动的创建对象,而是由容器帮我们来创建并管理这些对象。


  三、其他设计原则:


  1、不要重复你自己:不要让金融软件定制系统中重复的代码到处都是,要让它们足够的重用,所以要尽可能地封装。


  2、保持它简单与傻瓜:不要让金融软件定制系统变得复杂,界面简洁,功能实用,操作方便,要让它足够的简单,足够的傻瓜。


  3、高内聚与低耦合:模块内部需要做到内聚度高,模块之间需要做到耦合度低。


  4、惯例优于配置:尽量让惯例来减少配置,这样才能提高开发效率,尽量做到“零配置”。很多开发框架都是这样做的。


  5、命令查询分离:在定义接口时,要做到哪些是命令,哪些是查询,要将它们分离,而不要揉到一起。


  6、关注点分离:将一个复杂的问题分离为多个简单的问题,然后逐个解决这些简单的问题,那么这个复杂的问题就解决了。


  7、契约式设计:模块或系统之间的交互,都是基于契约(接口或抽象)的,而不要依赖于具体实现。该原则建议我们要面向契约编程。


  8、你不需要它:不要一开始就把金融软件定制系统设计得非常复杂,不要陷入“过度设计”的深渊。应该让系统足够的简单,而却又不失扩展性,这是其中的难点。