少有人走的路

勇哥的工业自动化技术网站

本站视觉相关教程整理贴子,持续更新

2020年勇哥的机器视觉实验项目清单(大纲)

勇哥的免费视频教程清单

勇哥在B站发布的视频清单

在类图中,分不清楚关联和依赖

抽象工厂模式与工厂模式的区别



作者:鹅厂程序小哥

链接:https://zhuanlan.zhihu.com/p/346510457

来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一个例子演示三种类工厂模式


先来段起始源码:

需求是: 使用SQLServer数据库,对表User进行Insert和GetUser两个操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlserverUser sql = new SqlserverUser();
            sql.Insert(new User() { ID = 1, Name = "张三" });
            sql.GetUser(1);

            Console.ReadKey();
        }
    }

    public class User
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }


    public class SqlserverUser
    {
        public void Insert(User user)
        {
            Console.WriteLine("SQL Server给User表插入一条记录");
        }

        public User GetUser(int id)
        {
            Console.WriteLine("SQL Server根据ID得到User表一条记录");
            return null;
        }
    }



}

简单工厂、工厂模式的区别


文心一言的介绍能说明问题,引用如下:

简单工厂模式和工厂方法模式的主要区别如下:

结构上的区别:
在简单工厂模式中,通常只有一个工厂类来负责所有产品的创建。
而在工厂方法模式中,有一个抽象的工厂接口或抽象类,
多个具体的工厂类继承或实现这个接口或抽象类,每个具体的工厂类负责创建一种产品。

对扩展的支持:
简单工厂模式在增加新产品时需要修改工厂类的代码,这违反了开闭原则。
而工厂方法模式在增加新产品时,只需要增加新的具体产品类和对应的具体工厂类,
不需要修改原有的代码,满足了开闭原则。

依赖关系的区别:
简单工厂模式中,客户端直接依赖于工厂类。
而在工厂方法模式中,客户端依赖于抽象的工厂接口或抽象类,而不直接依赖于具体的工厂类,
这样有利于代码的解耦和扩展。
总的来说,工厂方法模式相比简单工厂模式提供了更好的扩展性和遵循了设计原则,
如开闭原则,但也需要更多的类和接口,因此在选择使用哪种模式时,需要根据实际需求进行权衡。

一个duck类的小例子,开闭原则的应用

售货机项目--应用控制反转的实战

用一句话白话一下7大设计原则

聊聊开放封闭原则 (Open/Closed Principle)

台湾红烧牛肉面

勇哥注:

如此美食,值得记录一下。^_^



牛骨高汤


准备牛大骨800克

加入清水,浸泡至少半个小时,泡出血水。

开闭原则,来自生活与编程等各方面的例子


<< < 1 2 3 > >>
«    2023年11月    »
12345
6789101112
13141516171819
20212223242526
27282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864