
设计
kobexzf
这个作者很懒,什么都没留下…
展开
-
设计各类问题
单例,工厂方法/抽象工厂,模板方法,策略,享元,责任链,代理,装饰,观察者,适配器。观察者ApplicationEvent,ApplicationListener。简单工厂BeanFactory,传参不同(beanid)获取不同对象。策略spring访问底层资源的Resource接口。装饰Wrapper,Decorator类。1spring用到哪些设计模式。工厂方法FactoryBean。单例bean默认单例。2你常用哪些设计模式。...原创 2022-07-25 23:10:53 · 101 阅读 · 0 评论 -
DDD分析
而基于充血模型(RichDomainModel)DDD正好相反,数据和对应的业务逻辑被封装到同一个类中。因此,这种充血模型满足面向对象的封装特性,是典型的面向对象编程风格。传统的mvc框架的开发,因为po对象只包含属性和setter、getter,不包含业务逻辑,叫做贫血模式;这种写法实际上并不符合面向对象的特性,实际是面向过程的写法。...原创 2022-07-24 23:55:49 · 389 阅读 · 0 评论 -
设计原则
开闭:扩展开放,修改关闭,尽量在不修改原有代码的情况下进行扩展,需通过对抽象(抽象类,接口)进行实现进行扩展单一职责:一个类只负责一个职责,应该只有一个引起它变化的原因。职责分离,不同职责封装在不同类中,实现高内聚,低耦合里氏替换:所有引用基类(父类)的地方必须能透明地使用其子类的对象,表明子类是在父类的基础上进行的扩展,大多数都是代码中给定父类的静态类型,运行中确定子类的动态类型...原创 2019-03-14 20:29:35 · 109 阅读 · 0 评论 -
行为型-设计模式
单例:单实例,自我实例化,提供全局访问点工厂:不同类型实例由不同工厂创建,当然也有通过一个静态方法创建一种实例或通过传入参数决定生产的实例(这两种很明显不方便扩展,需修改代码)抽象工厂:考虑对象有不同维度(如车有类型和颜色),那么工厂负责产生一类产品(如工厂产生红车,白车,黑车),那么类型上可以通过新的车工厂进行扩展建造者:将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示...原创 2019-03-19 19:40:57 · 159 阅读 · 0 评论 -
创建型-设计模式
单例:单实例,自我实例化,提供全局访问点工厂:不同类型实例由不同工厂创建,当然也有通过一个静态方法创建一种实例或通过传入参数决定生产的实例(这两种很明显不方便扩展,需修改代码)抽象工厂:考虑对象有不同维度(如车有类型和颜色),那么工厂负责产生一类产品(如工厂产生红车,白车,黑车),那么类型上可以通过新的车工厂进行扩展建造者:将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示......原创 2019-03-20 13:38:07 · 96 阅读 · 0 评论 -
结构型-设计模式
适配器模式:接口转换,使接口不兼容的类可以一起工作,即我需要B接口实现,可现在只有A接口实现,考虑通过已有的A来实现B1 类的适配器:实现类 继承A的实现2 对象的适配器: 实现类 持有A或A的实现(可构造传入),这个是我们最常用的接口适配器:完全不一样,考虑一个接口很多方法,是不是可以提供一个空实现,子类在继承空实现的基础上选择实现自己想实现的方法桥接模式:对象有多个维度,三种形状,三...原创 2019-03-20 13:39:33 · 98 阅读 · 0 评论