深圳查询建设项目规划的网站,网站更新了文章看不到,网站开发的试题,手机网址在哪软件工程原则#xff1a;
开闭原则#xff1a; open closed principle #xff1a; 对扩展开放#xff0c;对修改关闭#xff0c;#xff0c;#xff0c;只让扩展#xff0c;不让修改#xff0c;用新增的类去替代修改的类 扩展之后#xff0c;代码不用改变#xff…软件工程原则
开闭原则 open closed principle 对扩展开放对修改关闭只让扩展不让修改用新增的类去替代修改的类 扩展之后代码不用改变 过程 从 interface 》 设计模式中的工厂模式 》IOC/DI
目的 面向抽象编程将可变化的部分封装在一个地方保证代码的相对稳定实现开闭原则写出可维护的代码 单纯的 interface 可以统一方法的调用但是不能统一 对象的实例化对象的实例化通过工厂和放射去做 软件工程中的变化
用户输入的变化技术的选择比如使用什么类型的数据库
将用户的输入直接转换成对象不去new对象通过反射让创建对象的代码变得稳定 对象类元类
类是对象的抽象类是用来描述对象的元类是对类的描述 元类使编码更加的灵活
IOC
IOC inversion of control ,控制反转他是软件工程中的一种设计模式和原则原本程序的控制权是程序本身程序员写的代码IOC将程序的控制权交给了配置文件交给了用户比如需求发生了变化你要去更改控制代码更改控制代码的方式由程序员的代码修改变成了 》 其他人的配置文件修改
IOC和工厂方法有什么区别为什么有了工厂方法还要使用IOC ioc依赖注入实例不需要工厂类所有的代码中都不再new对象容器把这个对象给我们使用 而工厂模式 是我们去找工厂要这个对象 而控制反转就是从我们主动拿》 到 容器主动给 就是控制代码不再是我们自己写的 》而是容器主动控制的
DI
DI: dependency injection : 依赖注入 对象和对象之间的相互作用产生这个依赖的方式是多种多样的可以是直接new一个对象也可以是 从容器注入进来依赖注入是IOC的一种实现从你去控制这个对象应该从工厂里面拿 到》 容器控制给你这个对象
依赖注入的方式
属性注入构造方法注入
DIP
DIP dependency inversion principle 依赖倒置 正常编码的时候我们会随手实例化一个对象就是依赖了一个具体而依赖倒置就是让我们不在依赖一个具体而是去依赖接口
抽象不应该依赖细节细节应该依赖抽象高层模块不应该依赖底层模块两者都应该依赖抽象 高层模块是指 抽象底层模块是指 具体的实现
依赖倒置 就是由依赖一个具体变成了依赖一个抽象