原文地址:
http://www.c2.com/cgi/wiki?ResourceReleasesResource
随记:网站上第二小节的Architectural idioms:里面文章都有些太长,也许是很重要,参与的人比较多,不过还是等空闲点再翻翻.
文章第一段描述的是..一种比较早的解决资源回收问题的处理接口,特别可以用于管理比较宝贵的资源时候进行使用.
优点如下:
1:它是可重用和抽象的
2:提供对所有资源文件统一的管理 //并不准确..大概这个意思
3:他没有对多少客户端运行访问限制
这里有一个快速写下的抽象类
public abstract class AbstractResource
{
abstract protected begin(ResourceClient client, Object object);
abstract protected end(ResourceClient client, Object object);
public void consume(ResourceClient client, Object object)
{
begin(client, object);
try {
client.consume(this, object);
} finally {
end(client, object);
}
}
}
public interface ResourceClient
{
abstract public void consume(
AbstractResource resource,
Object object
);
}
批注:这里使用特别的抽象接口,组合对类回收格式和调用格式的约定,很好的封装了对资源文件调用以及回收的格式,方便重用与统一调用
如果一个对象需要使用一个资源超出了一个方法的调用..可以参考 AbstractSessionPattern
http://www-dse.doc.ic.ac.uk/~np2/patterns
在系统的一些地方,经常或者一直出现一个对象使用一个方法拥有对资源文件的调用,在那对象之上使用.当它的方法结束,回收那资源.
甚至在事件驱动的环境,经常使用一些状态,一些地方,那相当于真正的对象,这个方法也许看起来如:
[self finished] whileFalse: [self waitSeconds: 30]
在这个期间,所有的其他对象和资源受到该对象的控制.
批注: 么有看懂这个代码...意思也比较模糊的理解
后半段..明天翻译
分享到:
相关推荐
2. **资源管理**:系统允许管理员按需分配主机资源,限制用户访问特定服务器,提高资源利用率。 3. **安全策略**:可设置访问时段、操作限制等策略,防止非工作时间的非法访问。 4. **报表分析**:丰富的统计报表,...
Gradle资源捆绑插件 介绍 该插件的目的是使用CSV(逗号分隔值)文件作为源,为Java Resource Bundle创建属性文件。 用法 为了使用该插件,请确保将Gradle Resource Bundle插件添加并应用到您的构建脚本中。 ...
资源一般都有基本操作集(get、list、create、modify 和 delete),并且有对应的字段选项。 初步使用 AWX ------------- 使用 AWX 需要进行一些初始配置。以下是一个简单的示例,演示如何与 AWX 服务器交互: ```...
resource "alicloud_instance" "example" { image_id = "your_image_id" instance_type = "ecs.t5-lc1m2.large" vswitch_id = "your_vswitch_id" security_group_ids = ["your_security_group_id"] system_disk...
【Maven for Android Development and Resource Management】 Maven是一款强大的项目管理工具,尤其在Java开发领域广泛应用。本教程将指导你如何使用Maven进行Android开发,包括配置、项目管理和资源管理。 **1. ...
c++ wince sdk AI <br>smartphone版本 和windows版本 <br>目录 Table of content I. Introduction....................................................................................................
2. August, 2017 - Google quietly releases a local SEO update dubbed the "Hawk" update, providing unique new challenges for local businesses. 3. June, 2017 - Google announces their game changing Mobile...
A single, common resources implementation to replace the multiple resource extension features provided in earlier versions. Tomcat 8 is currently in a beta state. Regular (at least monthly) releases ...
This book focuses on running DNS systems based on BIND 9.3.0the first stable release that includes support for the latest DNSSEC (...and a major functional upgrade from previous BIND 9 releases....
`cudaStreamDestroy` releases the resources associated with a stream object. It is important to destroy streams when they are no longer needed to avoid resource leaks. ##### 1.4 Event Management RT *...
在PCL启动器中,玩家可以轻松地安装和管理各种模组(Mods)、材质包(Resource Packs)、光影效果(Shaders)等,极大地扩展了游戏的可能性。它内置的更新机制确保玩家能够及时获取最新的游戏版本和补丁,同时,对于...
4. `yarn-site.xml`:YARN(Yet Another Resource Negotiator)的配置,用于资源管理和调度。 **四、环境变量配置** 编辑`~/.bashrc`或`~/.bash_profile`,添加Hadoop的环境变量: ```bash export HADOOP_HOME=/usr...
- 选择“Resource”选项卡,设置编码为 UTF-8。 #### 重新 Ant 编译步骤 1. **配置 Tomcat 信息**: - 打开 `liferay-portal-src-6.0.6` 根目录下的 `app.server.properties` 文件。 - 配置 `app.server.tomcat...
The main resource in the FreeBSD community is its developers: the committers and contributors. It is with their contributions that the project can move forward. Regular developers are referred to as ...
Requests use a threadpool to cap concurrent resource usage GET/POST params builder (RequestParams) Multipart file uploads with no additional third party libraries Tiny size overhead to your ...
在`pom.xml`文件中,我们需要调整`<build>`部分的配置,确保所有必要的资源被正确处理。以下是一个示例配置: ```xml <resource> <directory>src/main/java **/*.xml *.properties <filtering>false ...