`
lixjluck
  • 浏览: 104346 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一种无名的设计模式

 
阅读更多

问题

常见一个门面实现类,融合了N多的if/else,遂抽取了这种设计模式

 

类图



 伪代码

//Facade
public void process(String key, Object...){
        DataHandler handler = dataHandlerFactory.factory(key);
        if (handler != null) {
            try {
                handler.handle(memberId, obj);
            } catch (Exception e) {
                log.error("Handle auth data sync", e);
            }
         } 

 

   //DefaultHandlerFactory

public Handler factory(String key) {
        
        return handlerMap.get(key);
}

public void register(String key, Handler handler) {
        handlerMap.put(key(dataType, dataStatus), handler);
}

 

\\AbstractHandler

    public void registerSelf() {
        dataHandlerFactory.register(key(),  this);
    }

    /**
     * spring bean初始化后此方法被调用
     */
    @Override
    public void afterPropertiesSet() throws Exception {
        registerSelf();
    }

   public abstract String key();
 
  • 大小: 126.1 KB
0
1
分享到:
评论

相关推荐

    无名轻博客php版 v4.1.1.zip

    2. MVC架构:无名轻博客可能采用了MVC(Model-View-Controller)设计模式,这是一种常见的软件设计模式,用于分离应用程序的数据层、业务逻辑层和用户界面层。这种架构使代码更易于维护和扩展,同时也方便了开发者...

    基于PHP的无名PHP轻博客系统源码.zip

    PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合Web开发,可以嵌入到HTML中进行动态网页设计。轻博客系统通常比传统的博客平台更为简洁、快速,注重个性化和分享,它可能包含用户注册、登录、...

    无名微博 v5-ASP源码.zip

    ASP(Active Server Pages)是微软公司推出的一种服务器端脚本环境,用于创建动态交互式网页。它允许开发人员将HTML、VBScript(Visual Basic Script)或JScript代码嵌入到网页中,使得网页在服务器端运行时能够生成...

    基于PHP的无名轻博客(miniblog)个人博客系统.zip

    Miniblog可能采用了MVC(Model-View-Controller)设计模式,这是一种常见的Web应用架构,将业务逻辑、数据处理和用户界面分离,提高代码的可读性和可维护性。Model处理数据模型,View负责显示,Controller协调二者...

    LtuPatternFactory:最终的Lambda模式工厂:FP,Haskell,Typeclassopedia与软件设计模式

    《LtuPatternFactory:最终的Lambda模式工厂》深入探讨了函数式编程(FP)与软件设计模式之间的联系,尤其在Haskell语言中的应用。本文将详细介绍其中涉及的关键概念和技术。 首先,Lambda模式工厂是一个概念,它...

    无名轻聊 v1.1.zip

    2. **index.php**:这是一个PHP文件,PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发。这表明“无名轻聊”可能是一个基于Web的即时通讯应用。通过查看和分析`index.php`,开发者或学习者可以了解软件的前端...

    无名微博 v5.zip

    ASP是一种微软开发的服务器端脚本环境,允许开发者使用VBScript或JScript编写网页代码。 2. **Web配置**: - `web.config` 文件是ASP.NET应用程序的核心配置文件,包含关于应用程序运行时的设置,如数据库连接字符...

    基于PHP的无名php微博客系统 正式版.zip

    2. **MVC架构**:多数PHP Web应用遵循Model-View-Controller(模型-视图-控制器)设计模式,理解其工作原理对于理解代码结构至关重要。 3. **数据库交互**:系统可能会使用MySQL或类似的SQL数据库存储用户信息和...

    基于PHP的无名轻聊PHP源码.zip

    2. MVC架构:在无名轻聊项目中,很可能采用了Model-View-Controller(MVC)设计模式。这种模式将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离,使代码更易于维护和扩展。 3. 数据库交互:聊天...

    【JavaScript源代码】JS实现单例模式的6种方案汇总.docx

    JavaScript中的单例模式是一种设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个唯一实例。这种模式在JavaScript开发中非常有用,尤其是在处理全局变量、避免命名冲突、节省内存以及统一接口等...

    无名飞控 stm32代码

    【标签】中的“arm”指的是ARM架构,这是一种广泛应用在嵌入式设备中的处理器架构,以其高效节能和可定制性著称。“嵌入式硬件”是指将计算能力集成到特定设备中的硬件系统,通常包括微处理器、存储器和输入/输出...

    无名的茶(word+ppt配套)_大学生毕业设置 创新创业商业计划书.rar

    无名的茶(word+ppt配套)是一份针对大学生毕业设计的创新创业商业计划书,它包含Word文档和PowerPoint演示文稿两种形式,旨在为学生提供一个完整的商业策划方案模板。这样的计划书对于想要在毕业后开启自己创业之旅...

    无名图片管理系统 v1.0

    《无名图片管理系统 v1.0》是一款专为图片管理设计的应用程序,旨在方便用户进行图片的上传、存储和检索。这款系统提供了多种图片入库方式,以满足不同用户的需求,同时具备无组件上传和远程获取图片的功能,为图片...

    PHP实例开发源码—无名php微博客系统 正式版.zip

    3. **MVC模式**:此微博客系统可能采用了Model-View-Controller(MVC)架构模式,这是一种常见的Web应用设计模式。Model负责数据处理,View负责显示,Controller作为两者之间的桥梁。通过源码,可以了解MVC模式的...

    设计高效SQL 一种视觉的方法

    SQL是一种声明性语言,用户无需指定数据获取的具体步骤,只需描述所需的数据。然而,这并不意味着SQL优化会自动完成,因为优化器的选择可能并不总是最优的。这就如同在陌生城市乘坐出租车,你告诉司机目的地,但可能...

    PHP实例开发源码—无名轻博客(miniblog)个人博客系统.zip

    2. MVC(Model-View-Controller)架构:无名轻博客很可能采用了MVC设计模式,这是一种常见的Web应用架构,将业务逻辑(Model)、数据呈现(View)和用户交互控制(Controller)分离,提高代码的可维护性和可扩展性。...

    PHP实例开发源码—无名PHP轻博客系统源码.zip

    1. **MVC架构**:大多数现代PHP应用遵循Model-View-Controller(MVC)设计模式,它将业务逻辑、数据处理和用户界面分离开来,使得代码结构清晰,易于维护。 2. **数据库交互**:轻博客系统需要存储用户信息、文章、...

    PHP实例开发源码—无名轻聊PHP源码.zip

    【标签】"PHP" 指明了这个项目的核心技术是PHP,这是一种广泛用于Web开发的服务器端脚本语言,以其易学性、灵活性和丰富的扩展库而受到开发者喜爱。PHP常用于创建动态网页、内容管理系统、电子商务平台以及各种Web...

    无名微博客php版 v1.0 预览版

    在软件架构方面,无名微博客PHP版很可能采用了MVC(Model-View-Controller)设计模式。在这种模式下,模型负责数据处理和业务逻辑,视图负责用户界面的展示,控制器则协调模型和视图之间的交互。这种分离式的架构...

Global site tag (gtag.js) - Google Analytics