代码拉取完成,页面将自动刷新
同步操作将从 ryanpenn/dart_in_action 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/**
代理模式(Proxy Pattern)
意图:为其他对象提供一种代理以控制对这个对象的访问。
主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。
何时使用:想在访问一个类时做一些控制。
如何解决:增加中间层。
*/
main(List<String> args) {
Image image = new ProxyImage("dart_logo.png");
// 图像将从磁盘加载
image.display();
// 图像不需要从磁盘加载
image.display();
}
//////////////////////////////////////////////////////////////////
///
/// 创建一个接口
///
abstract class Image {
void display();
}
///
/// 创建实现接口的实体类
///
class RealImage implements Image {
String fileName;
RealImage(this.fileName) {
loadFromDisk(fileName);
}
@override
void display() {
print("Displaying $fileName");
}
void loadFromDisk(String fileName) {
print("Loading $fileName");
}
}
class ProxyImage implements Image {
RealImage realImage;
String fileName;
ProxyImage(this.fileName);
@override
void display() {
if (realImage == null) {
realImage = RealImage(fileName);
}
realImage.display();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。