zoukankan      html  css  js  c++  java
  • 使用Micrisoft.net设计方案 第一章 企业解决方案中构建设计模式

    第一章企业解决方案中构建设计模式

    我们知道的系统总是由简单到复杂,而不是直接去设计一个复杂系统。如果直接去设计一个复杂系统,结果最终会导致失败。在设计系统的时候,先设计一个能够正常工作的系统,然后在此基础上逐步扩展。而一个好的企业设计方案就是由一些短小、简单、可靠、有效的并能够解决问题的机制组成。由这些短小精悍的机制进行组合,形成复杂的系统。而这些机制就设计模式。设计模式就是能够记录这些机制的一些描述。

    企业级业务解决方案一般是复杂、性能要好、可扩展性好以及容易维护和可伸缩性强,而设计模式可以帮我们解决这些问题。

    设计模式具有以下特性:

    1、  记录正常工作的简单机制

    2、  形成通用分类和词汇,方便开发人员和设计人员进行交流和沟通

    3、  描述解决方案

    4、  可以最大程度的重用

    5、  获取经验丰富的开发人员的知识,并用目录的形式进行呈现

    通常设计模式要解决的问题是在上下文中反复出现的问题,并根据具体情况给出指导性建议。

    举例如下:

    单件设计模式(Singleton)

    上下文中出现的问题:某些类型的数据,在系统执行期间有且只能有一个实例,并且在全局范围内可以共享。

    解决方法:通过控制类的实例生成方法,来控制实例的访问。

    案例:

    设计一个报价系统,其中有一个报价管理功能,其它报价功能与它协作的过程中,需要保持该报价管理功能实例的唯一性。

    解决方法:设计一个QuoteManager类,让其构造函数私有化,在类内部自己生成实例并存储在静态变量中,供其它实例调用。

    Public class QuoteManager
    {
    Private static QuoteManager quoteManager=null;
        Private QuoteManager(){}
    Public static QuoteManager GetInstance()
    {
            //该设计适用于单线程应用程序
            if(quoteManager==null)
    {
        quoteManager=new QuoteManager();
    }
    return quoteManager;
    }
    }

    模式与模式应用程序的区别:模式提供的是一个通用的解决方案,而模式程序是针对具体业务进行设计的解决方案。

    层设计模式(Layer)

    上下文:希望把一个大型复杂系统进行分解,方便管理复杂事物

    解决方法:通过分层进行解决,把层作物高级抽象级别进行组织业务

    分层原则:

    1、  把相同级别的抽象元素集中在同一层

    2、  层内保持高内聚,层间弱依赖

    分层作用:

    1、  在设计上,层间是通过类进行协作,把对源代码修改的影响限制在局部,而不是贯穿整个系统设计

    2、  在运行期间,单个组件可以和其它组件进行通信,把这种影响限制在局部

    3、  更大程序的提高重用性

    传统分层模式结构如下:

     

    三层分层模式结构如下:

     

    三层服务模式结构如下:

     

    案例:

    比如设计一个报价系统,其结构为:

     

    模式与模式应用程序的区别:模式提供的是一个通用的解决方案,而模式程序是针对具体业务进行设计的解决方案。

    从上述可以看出其优化顺序为:

     

    处理上述分层模式结构外,还有以下多种方式:

    从事软件开发,可开发APP,微官网,手机站,订阅号,小程序,pc站和SEO优化。如果想让你的网站有好的排名,请关注我。QQ和微信同号:113633664
  • 相关阅读:
    This counter can increment, decrement or skip ahead by an arbitrary amount
    LUT4/MUXF5/MUXF6 logic : Multiplexer 8:1
    synthesisable VHDL for a fixed ratio frequency divider
    Bucket Brigade FIFO SRL16E ( VHDL )
    srl16e fifo verilog
    DualPort Block RAM with Two Write Ports and Bytewide Write Enable in ReadFirst Mode
    Parametrilayze based on SRL16 shift register FIFO
    stm32 spi sdcard fatfs
    SPI bus master for System09 (2)
    SQLSERVER中的自旋锁
  • 原文地址:https://www.cnblogs.com/ljf10223063/p/4382262.html
Copyright © 2011-2022 走看看