「架构师训练营」单例与组合模式的应用
1. 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。
语言:C#
懒汉式:
利用双重 if + lock 模式,达到线程安全的目的
饿汉式:
静态构造函数时由CLR保证,程序第一次使用这个类型前就会被调用,且只调用1次
单例的好处就是全局唯一的一个实例,避免对象重复创建,实现资源重用。但是也会常驻内存。
它通常应用于这些场景:
数据库连接池(内置了资源)
全局唯一号码生成器
2. 请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。
语言:C#
IDE:Visual Studio 2019
Sdk:.net core 3.1
组件抽象类:
组件的基类:
由于有些组件是可以添加组件,例如 WinForm和Frame。而有些组件不能往里面添加组件。因此,增加一个容器的类
个性化的组件:
组合各个组件并打印
打印效果:
评论