还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
面向对象编程原则深入理解面向对象设计什么是面向对象编程面向对象编程OOP对象一种编程范式,将软件系统看作一系列相互协作的对象拥有属性和方法的独立实体,代表现实世界中的事物理解对象和类的概念类对象对象的模板,定义了对象共有的属性和方法根据类创建的实例,拥有类定义的属性和方法类的属性和方法属性方法描述对象的特征,如颜色、尺寸等定义对象的行为,如移动、显示等封装和信息隐藏封装信息隐藏将数据和操作数据的方法捆隐藏内部实现细节,仅暴露绑在一起必要接口继承与多态性继承多态性创建新的类,继承已有类的属性和方法相同接口,不同实现,提高代码灵活性和可扩展性抽象类和接口抽象类接口定义抽象方法,供子类实现,不可实例化定义方法签名,不提供具体实现,用于规范类的行为原则简介SOLIDSRP OCPLSP单一职责原则开闭原则里氏替换原则ISP DIP接口隔离原则依赖倒置原则单一职责原则SRPSRP优点每个类应该只负责一个功能降低类修改的风险,提高代码可维护性开闭原则OCPOCP优点对扩展开放,对修改关闭可扩展性强,避免频繁修改已有代码里氏替换原则LSPLSP优点子类可以替换父类,不影响确保继承关系的正确性,提程序正常运行高代码可靠性接口隔离原则ISPISP优点客户端不应该依赖它不需要的接口减少接口之间的耦合,提高代码可复用性依赖倒置原则DIPDIP优点高层模块不应该依赖低层模块,两者都应该依赖抽象降低模块之间的耦合,提高代码可测试性如何设计高质量的类明确职责合理关系定义类的功能范围,避免过于复设计类之间的关系,保证系统结杂构清晰复用性考虑代码的可复用性,减少重复代码类的职责划分单一职责高内聚每个类只负责一个功能类内部方法紧密相关,功能集中低耦合类之间依赖关系弱,修改一个类对其他类影响小类之间的关系继承聚合is-a关系,子类继承父类属has-a关系,一个类拥有另一性和方法个类的对象依赖uses-a关系,一个类使用另一个类的对象合成聚合复用原则/合成聚合通过组合其他对象来实现功一种特殊的合成,拥有对象能可以独立存在优点提高代码可维护性,降低耦合度抽象化和具体化抽象化具体化忽略细节,关注本质和共性,定义抽象类和接口根据具体需求实现抽象类的具体方法,提供具体实现依赖注入与控制反转依赖注入控制反转将依赖关系由类内部转移到将类的创建和管理委托给外外部部容器优点提高代码可测试性,降低耦合度设计模式概述设计模式目的针对常见问题的解决方案,提高代码的可读性、可维护提供可复用的设计思路性和可扩展性常见设计模式分类创建型模式结构型模式行为型模式负责对象的创建过程处理类和对象的结构关系描述对象之间通信和协作方式创建型模式示例工厂模式1提供创建对象的统一接口单例模式2确保一个类只有一个实例建造者模式3将复杂对象的创建过程分解为多个步骤结构型模式示例适配器模式1将不同接口的类适配在一起装饰器模式2动态地给对象添加新的功能代理模式3提供对象的代理,控制对对象的访问行为型模式示例策略模式1定义一系列算法,并将其封装成独立的类模板方法模式2定义一个算法的骨架,将具体实现交给子类观察者模式3定义了一种一对多的依赖关系,当一个对象状态改变时,所有依赖它的对象都会收到通知设计模式的应用场景提高代码可复用性增强代码可维护性避免重复代码,提高开发效使代码易于理解和修改率提高代码可扩展性方便添加新的功能重构和设计模式重构设计模式在不改变代码行为的情况下,提供重构的最佳实践,帮助改善代码结构和设计改善代码质量代码质量评估指标12可读性可维护性代码易于理解和维护代码易于修改和扩展34可测试性性能代码易于测试和验证代码运行效率高重构技巧和最佳实践提取方法重命名变量移除重复代码将一段代码封装成一个独立的方使用更清晰的变量名,提高代码将重复代码提取到一个公共方法法可读性中综合案例演示总结与展望面向对象编程设计模式一种强大的编程范式,提高提供可复用的设计思路,帮代码质量和开发效率助解决常见问题。
个人认证
优秀文档
获得点赞 0