如何将设计模式运用到实际编码中
学过java的人应该都知道二十三种设计模式,每一个想把代码写的更优美的人,都想过如何将设计模式运用到代码当中。本人也一直在思考这个问题,困惑很久,但是依然还是迷茫中,所以在这里写下我的迷茫和一知半解,希望看到这篇文章的人能够一起讨论设计模式与实际编码设计如何更好地结合。
学习如何使用设计模式前,必须知道程序设计的规则:
1、开闭原则:一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。a、抽象化的基本功能不变,不会被修改;b、把可变性的封装起来。
2、里氏转换原则:父类可以被子类代替。里氏转换原则是对开闭原则的一个补充,违反里氏转换原则就是违反开闭原则,并且是代理模式的基础。
使用时需注意以下几点:
1)、子类必须实现父类所有方法;
2)、尽量把父类设计成抽象类或接口;
3、依赖倒转原则:抽象类不依赖于细节,细节应当依赖于抽象,高层模块不应当依赖于底层模块,都依赖与抽象。
4、接口隔离原则:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖于它不需要的那些接口;
5、迪米特原则:一个对象应尽可能少的了解其他对象。各个对象建的耦合度比较低,都能够独立运行;
6、聚合原则:用聚合类达到代码复用,而不是用继承关系来复用代码;
7、单一原则:一个类只负责一个功能领域的相应职责。