设计程序 工厂设计通常包括设计前期工作、初步设计和施工图设计3个阶段。
① 设计前帆握液期工作:包括可行性研究、厂址选择和设计任务书的编制。设计任务书由建设项目的主管部门组织编制,其目的是根据可行性研究报告和厂址选择报告,对建设项目的主要问题,即产品方案、建设规模、建设地区和地点、专业化协作范围、投资限额、资金来源、要求达到的技术水平和经济效益等作出决策。
② 初步设计:根据批准的设计任务书进行编制。初步设计包括:确定主要原材料、燃料、水、动力的来源和用量;规定工艺过程、物料储运(见物料搬运)、环境保护(见劳动保护)等设计的主要原则;明确设备、建筑物和公用系统的构成和要求;进行工厂布置,设计全厂和车间的平面布置图;提出生产组织皮前、管理信息系统和生活福利设施的方案;计算主要设备材料的数量、各项技术经济指标和工程概算。批准后的初步设计是建设投资的拨款、成套设备订购和施工图设计的依据。
③ 施工图的设计态物:绘制各种建筑物的建筑结构详图、设备和管线的安装详图、各项室外工程的施工详图、编制全部设备材料明细表和施工预算。
工厂模式主要用一下几种形态坦此:1:简单工厂(Simple Factory)。
2:工厂方法(Factory Method)。
3:抽象工厂(Abstract Factory)。
简单工厂并不简单,它是整个模式的核心,一旦他出了问题,整个模式都将受影响而不能工作,为了降低风险和为日后的维护、扩展做准备,我们需要对它进行重构,引入工厂方法。工厂方法为工厂类定义了接口,用多态来削弱了工厂类的职能。
工厂方法和简单工厂的主要区别是,简单工厂是把枝信稿创建产品的职能都放在一个类里面,而工厂方法则把不同的产品放在实现了工厂接口的不同工厂类里面,这样就算其中一个工厂类出了问题,其他工厂类也能正常工作,互相不受影响,以后增加新产品,也只需要新增一个实现工厂接口工厂类,就能达到,不用修改已有的代码。但工厂方法也有他局限的地方,那就是当面对的产品有复杂的等级结构的时候
抽象工厂的意图在于创建一系列互相关联或互相依赖猛孝的对象。
你好,很高兴能解答你的问题,工厂模式是程序中的一种常见的设计模式。
首先工厂模式是软件开发中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
工厂模式主要的意图是:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
案列1:您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。 2、Hibernate 换数据库只需换方言和驱动就可以。
优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。
缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖顷扰。这并不是什么好事。
案例2:日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。 2、数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。 3、设计一个连接服务器的框架,需要三个协议,"POP3"、"IMAP"、"HTTP",可以把这三个作为产品类,共同实现一个接口。
注意事项:作为一种创建类模式,在任何需要生成复杂姿咐对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简雀册旦单对象,特别是只需要通过 new 就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。
1、开闭原则
开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。
2、里氏代换原则
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。
希望能帮到你,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)