外观模式
2025/6/24
28
导航
1前言
3外观模式
4后记
1 前言
在23种(GoF23)设计模式中,有的非常简单,外观模式就是其中之一,它对内封装复杂逻辑,对外提供简单调用,外观模式也是为调用者服务的一种设计模式。这很像政府职能部门这些年服务效率的悄然变化,比如以前注册公司需要跑多个部门,现在设立了行政服务大厅“一窗通办”。来源:https://www.wubayue.com
2 外观模式之前
之前注册一家公司需要单独去市场监督管理局、公安局、税务局、社保局、公积金中心等多个职能部门,劳力费心。来源:https://www.wubayue.com
// 市场监督管理局
public class MarketSupervisionAdministration
{
// 申领营业执照
public void BusinessLicense()
{
Console.WriteLine("申领营业执照");
}
}
// 公安局
public class PublicSecurity
{
// 公章备案
public void CompanyChopFiling()
{
Console.WriteLine("公章备案");
}
}
// 税务局
public class Taxation
{
// 税务登记
public void Registration()
{
Console.WriteLine("税务登记");
}
}
// 社保局
public class SocialSecurity
{
// 社保开户
public void Account()
{
Console.WriteLine("社保开户");
}
}
// 公积金中心
public class HousingProvidentFund
{
// 公积金开户
public void Account()
{
Console.WriteLine("公积金开户");
}
}
// 调用繁琐
static void Main(string[] args)
{
// 市场监督管理局,申领营业执照
MarketSupervisionAdministration marketSupervisionAdministration = new MarketSupervisionAdministration();
marketSupervisionAdministration.BusinessLicense();
// 公安局,公章备案
PublicSecurity publicSecurity = new PublicSecurity();
publicSecurity.CompanyChopFiling();
// 税务局,税务登记
Taxation taxation = new Taxation();
taxation.Registration();
// 社保局,社保开户
SocialSecurity socialSecurity = new SocialSecurity();
socialSecurity.Account();
// 公积金中心,公积金开户
HousingProvidentFund housingProvidentFund = new HousingProvidentFund();
housingProvidentFund.Account();
}
3 外观模式
如今注册一家公司在行政服务大厅一窗通办,30分钟搞定,省事省心。来源:https://www.wubayue.com
// 市场监督管理局
public class MarketSupervisionAdministration
{
// 申领营业执照
public void BusinessLicense()
{
Console.WriteLine("申领营业执照");
}
}
// 公安局
public class PublicSecurity
{
// 公章备案
public void CompanyChopFiling()
{
Console.WriteLine("公章备案");
}
}
// 税务局
public class Taxation
{
// 税务登记
public void Registration()
{
Console.WriteLine("税务登记");
}
}
// 社保局
public class SocialSecurity
{
// 社保开户
public void Account()
{
Console.WriteLine("社保开户");
}
}
// 公积金中心
public class HousingProvidentFund
{
// 公积金开户
public void Account()
{
Console.WriteLine("公积金开户");
}
}
// 行政服务大厅“一窗通办”
public class AllInOne
{
private MarketSupervisionAdministration _marketSupervisionAdministration;
private PublicSecurity _publicSecurity;
private Taxation _taxation;
private SocialSecurity _socialSecurity;
private HousingProvidentFund _housingProvidentFund;
// 构造函数
public AllInOne()
{
_marketSupervisionAdministration = new MarketSupervisionAdministration();
_publicSecurity = new PublicSecurity();
_taxation = new Taxation();
_socialSecurity= new SocialSecurity();
_housingProvidentFund = new HousingProvidentFund();
}
// 公司注册“一窗通办”
public void CompanyRegistration()
{
// 市场监督管理局,申领营业执照
_marketSupervisionAdministration.BusinessLicense();
// 公安局,公章备案
_publicSecurity.CompanyChopFiling();
// 税务局,税务登记
_taxation.Registration();<span style="display:none;" id="__kindeditor_bookmark_start_4__"></span>
// 社保局,社保开户
_socialSecurity.Account();
// 公积金中心,公积金开户
_housingProvidentFund.Account();
}
}
// 调用简洁
static void Main(string[] args)
{
// 行政服务大厅“一窗通办”
AllInOne allInOne = new AllInOne();
// 公司注册
allInOne.CompanyRegistration();
}
4 后记
在千禧年前后,记忆里都还有很多崩溃时刻,比如春节17个小时的绿皮火车从深圳返回湘西老家,无法上厕所,因为厕所里全部塞满了人;把户口迁入深圳,请假跑十几个部门,凌晨四点排一公里的长队;如面试曾遇到的香港人台湾人,对你的一脸不屑......没留意从什么时候起,这些都在悄然发生变化,与政府职能部门打交道基本都在网上完成了;面试少了,也很少遇到香港台湾人了;回老家少了,但高铁只需6小时了......中华民族正实现着伟大复兴,我们是幸运的一代人。来源:https://www.wubayue.com
赞同 0
反对 0
评论列表
文章分类
最新文章
外观模式
2025/6/24
29
桥接模式
2025/6/13
824
设计模式:适配器
2025/6/4
885
Zabbix:开源的跨平台系统监控工具
2025/1/21
1345
WSL:在Windows中使用Linux
2025/1/18
1325
在Windows中使用Docker
2025/1/20
1117
单元测试从入门到精通
2025/2/13
2145
UML用例图-UML Use Case Diagram
2024/7/12
2563
UML类图-UML Class Diagram
2024/8/6
1924
测试驱动开发(TDD)浅析
2025/2/3
1301
热门文章
外观模式
2025/6/24
29