组合(Composite Pattern)模式的定义:有时又叫作整体-部分(Part-Whole)模式, 它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系, 使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。
类图:

作者:清泓y
链接:https://www.zhihu.com/question/573785160/answer/3111113516
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
在软件工程领域,设计模式是一套通用的可复用的解决方案,用来解决在软件设计过程中产生的通用问题。
它不是一个可以直接转换成源代码的设计,只是一套在软件系统设计过程中程序员应该遵循的最佳实践准则。
从定义可以看出,设计模式是一套语言无关的最佳设计实践准则,
勇哥注:
策略模式和状态模式是两个亲兄弟,类图很像。
策略模式是封装了一系列算法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同。就像是同样是亿万富豪,马云是靠卖东西,王思聪是靠继承。
勇哥注:
状态模式(State Pattern)最简单的理解就可以用来消灭那种很长的if else,或者case。
官方说法是:当一个对象内在状态改变时允许改变其行为,这个对象看起来像是改变了其类
先来段起始源码:
需求是: 使用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;
}
}
}Powered By Z-BlogPHP 1.7.3
Copyright www.skcircle.com Rights Reserved.