求一下习题具体代码实现,C#语言

求一下习题具体代码实现,C#语言

求一下习题具体完整的代码实现,C#语言

img

using System;
namespace ConsoleApp1
{
    class Program
    {
        public interface IDataHelp
        {
            void Insert(string name, string phone);
        }
        public class SqlHelp : IDataHelp
        {
            public void Insert(string name, string phone)
            {
                var conn = new System.Data.SqlClient.SqlConnection("server=.;uid=sa;pwd=xxxx;database=xxxdb");//注意改驱动
                var cmd = new System.Data.SqlClient.SqlCommand("insert into xxxtable(name,phone)values('" + name + "','" + phone + "')",conn);
                cmd.ExecuteNonQuery();
                conn.Close();
                Console.WriteLine(name + "\t" + phone);
            }
        }
        public class FileHelp : IDataHelp
        {
            public void Insert(string name, string phone)
            {
                //注意改文件路径
                System.IO.File.AppendAllText(@"f:\xxx.txt", name + "\t" + phone+"\n", System.Text.Encoding.UTF8);
                Console.WriteLine(name + "\t" + phone);
            }
        }
        public class DataHelpFactory
        {
            public static IDataHelp Create()
            {
                var d =(int) DateTime.Now.DayOfWeek;
                if (d == 6 || d == 0) return new FileHelp();
                return new SqlHelp();
            }
        }
        static void Main(string[] args)
        { 
            var help = DataHelpFactory.Create();
            
            help.Insert("test", "13900001111");

            Console.ReadKey();
        }
    }
}
  1. 定义IDataHelp接口
public interface IDataHelp
{
    void Insert(string name, string phone);
}
  1. 实现SglHelp和FleHelp类
public class SglHelp : IDataHelp
{
    public void Insert(string name, string phone)
    {
        // 添加到数据库
        Console.WriteLine($"Insert {name} {phone} into database.");
    }
}

public class FleHelp : IDataHelp
{
    public void Insert(string name, string phone)
    {
        // 添加到文件
        Console.WriteLine($"Insert {name} {phone} into file.");
    }
}
  1. 实现SalHelp类
public class SalHelp : IDataHelp
{
    public void Insert(string name, string phone)
    {
        // 添加到数据库
        Console.WriteLine($"Insert {name} {phone} into database.");
    }
}
  1. 定义工厂类
public class DataHelpFactory
{
    public static IDataHelp GetDataHelp()
    {
        // 获取当前日期
        DateTime now = DateTime.Now;
        // 判断是否是周六或周日
        if (now.DayOfWeek == DayOfWeek.Saturday || now.DayOfWeek == DayOfWeek.Sunday)
        {
            // 返回FleHelp对象
            return new FleHelp();
        }
        else
        {
            // 返回SglHelp对象
            return new SglHelp();
        }
    }
}
  1. 在Main方法中使用工厂获取IDataHelp,并调用Insert方法
static void Main(string[] args)
{
    // 获取IDataHelp对象
    IDataHelp dataHelp = DataHelpFactory.GetDataHelp();
    // 调用Insert方法
    dataHelp.Insert("Tom", "123456789");
}
interface IDataHelp {
  public function Insert($name, $phone);
}

// 实现SglHelp类
class SglHelp implements IDataHelp {
  public function Insert($name, $phone) {
    // 连接数据库
    echo "Connecting to database...\n";
    // 将传递的数据添加到数据库
    echo "Adding data to database: Name - $name, Phone - $phone\n";
  }
}

// 实现FleHelp类
class FleHelp implements IDataHelp {
  public function Insert($name, $phone) {
    // 写入文件
    echo "Writing to file...\n";
    // 将传递的数据添加到文件
    echo "Adding data to file: Name - $name, Phone - $phone\n";
  }
}

// 定义工厂类,使用工厂类来生产不同的IDataHelp 的子类,返回IDataHelp 接口
class IDataHelpFactory {
  static function CreateIDataHelpObject() {
    if (date('N') >= 1 && date('N') <= 5) {
      // 如果是周一到周五,生产SglHelp类对象
      return new SglHelp();
    } else {
      // 如果是周六或周日,生产FleHelp类
      return new FleHelp();
    }
  }
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632