• java设计模式等相关思想



    设计模式:
    ·java中23中设计模式
    菜鸟教程http://www.runoob.com/design-pattern/design-pattern-tutorial.html
    http://www.cnblogs.com/geek6/p/3951677.html

    ·总体来说设计模式分为三大类:
    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式
    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
    其实还有两类:并发型模式和线程池模式。

    创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。
    结构型模式:把类或对象结合在一起形成一个更大的结构。
    行为型模式:类和对象如何交互,及划分责任和算法。


    ·六大设计原则
    单一职责:一个类负责一个功能,一旦需求更改,不会受到其他类的影响,但是如果这个功能需求又被细分,会出现更细的划分,只能修改这个类,需要对代码进行重构,防止功能职责的不确定性。

    里氏替换原则 (Liskov Substitution Principle)(是对开-闭原则的补充)
    实现“开-闭”原则的关键步骤就是抽象化,基类与子类的继承关系就是抽象化的具体实现,所以里氏替换原则是对实现抽象化的具体步骤的规范,就是子类可以扩展父类的功能,但不能改变父类原有的功能,尽量不要重写或重载父类方法
    如果非要重写父类的方法,比较通用的做法是:原来的父类和子类都继承一个更通俗的基类,原有的继承关系去掉,采用依赖、聚合,组合等关系代替。

    依赖倒置原则(dependence inversion principle)
    所谓依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体。实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要手段
    通过将高层模块转换为接口形式,一切都需要转化为抽象,不要注重细节的实现,抽象指的是接口或者抽象类,细节就是具体的实现类,使用接口或者抽象类的目的是制定好规范和契约,而不去涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。
    依赖倒置原则的核心思想是面向接口编程

    接口隔离原则(interface segregation principle)
    使用多个隔离的接口,比使用单个接口要好。本意降低类之间的耦合度,而设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。拆分接口,接口中不要有太多方法,否则在实现接口的时候需要将不需要的方法也要实现了,需要为各个类建立专用的接口
    接口隔离原则和单一原则的区别:
    其一,单一职责原则原注重的是职责;而接口隔离原则注重对接口依赖的隔离。其二,单一职责原则主要是约束类,其次才是接口和方法,它针对的是程序中的实现和细节;而接口隔离原则主要约束接口接口,主要针对抽象,针对程序整体框架的构建

    迪米特法则(demeter principle)最少知道原则
    一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
    独立性,不会影响到其他模块或者尽可能不影响
    低耦合,高内聚:软件编程原则,该原则是降低类之间的耦合

    开闭原则(open close principle)
    为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,需要面向接口编程
    对扩展开放,对修改关闭,用抽象构建框架,用实现扩展细节

    ·软件开发模式


    ·生产者消费者模式
    https://www.cnblogs.com/chentingk/p/6497107.html
    生产者消费者模型具体来讲,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的资料,消费者把资料做成产品。
    在日益发展的服务类型中,譬如注册用户这种服务,它可能解耦成好几种独立的服务(账号验证,邮箱验证码,手机短信码等)。它们作为消费者,等待用户输入数据,在前台数据提交之后会经过分解并发送到各个服务所在的url,分发的那个角色就相当于生产者。消费者在获取数据时候有可能一次不能处理完,那么它们各自有一个请求队列,那就是内存缓冲区了。做这项工作的框架叫做消息队列。

  • 相关阅读:
    使用特殊构造的5GB文件测试Win2012Dedup功能
    VMWare 回收磁盘空间
    一个极其高效的虚拟机内存冗余消除机制:UKSM
    基于Dedup的数据打包技术
    hadoop集群运行dedup实现去重功能
    Qt编写安防视频监控系统24-自定义悬浮条
    Qt编写百度地图综合应用(在线+离线+区域)
    Qt编写安防视频监控系统23-图片地图
    Qt编写安防视频监控系统22-摄像机搜索
    Qt编写安防视频监控系统21-摄像机管理
  • 原文地址:https://www.cnblogs.com/jacksonlee/p/10244868.html
Copyright © 2020-2023  润新知