`
friendsys
  • 浏览: 346397 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Resource Releases Resource 资源释放.

CGI 
阅读更多
原文地址: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
	);
 }


批注:这里使用特别的抽象接口,组合对类回收格式和调用格式的约定,很好的封装了对资源文件调用以及回收的格式,方便重用与统一调用

如果一个对象需要使用一个资源超出了一个方法的调用..可以参考 AbstractSessionPatternhttp://www-dse.doc.ic.ac.uk/~np2/patterns

在系统的一些地方,经常或者一直出现一个对象使用一个方法拥有对资源文件的调用,在那对象之上使用.当它的方法结束,回收那资源.

甚至在事件驱动的环境,经常使用一些状态,一些地方,那相当于真正的对象,这个方法也许看起来如:
[self finished] whileFalse: [self waitSeconds: 30]

在这个期间,所有的其他对象和资源受到该对象的控制.
批注: 么有看懂这个代码...意思也比较模糊的理解


后半段..明天翻译
分享到:
评论

相关推荐

    Jumpserver开源堡垒机 v2.28.21.zip

    2. **资源管理**:系统允许管理员按需分配主机资源,限制用户访问特定服务器,提高资源利用率。 3. **安全策略**:可设置访问时段、操作限制等策略,防止非工作时间的非法访问。 4. **报表分析**:丰富的统计报表,...

    gradle-resource-bundle:Gradle插件可将CSV转换为Java资源包

    Gradle资源捆绑插件 介绍 该插件的目的是使用CSV(逗号分隔值)文件作为源,为Java Resource Bundle创建属性文件。 用法 为了使用该插件,请确保将Gradle Resource Bundle插件添加并应用到您的构建脚本中。 ...

    AWX CLI Ansible Tower 3.8.6 documentation-196页

    资源一般都有基本操作集(get、list、create、modify 和 delete),并且有对应的字段选项。 初步使用 AWX ------------- 使用 AWX 需要进行一些初始配置。以下是一个简单的示例,演示如何与 AWX 服务器交互: ```...

    terraform-provider-alicloud_1.95.0_linux_amd64.zip

    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进行Android的从配置到开发与资源管理教程.doc

    【Maven for Android Development and Resource Management】 Maven是一款强大的项目管理工具,尤其在Java开发领域广泛应用。本教程将指导你如何使用Maven进行Android开发,包括配置、项目管理和资源管理。 **1. ...

    手机游戏开发实例(smartphone联机炸弹人)

    c++ wince sdk AI <br>smartphone版本 和windows版本 <br>目录 Table of content I. Introduction....................................................................................................

    Learn.Search.Engine.Optimization.With.Smart.Internet.Marketing.Strategies 2018

    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...

    最新Apache Tomcat 8.0.8

    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 ...

    Pro DNS and BIND 10 英文版

    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....

    CUDA Reference from NVIDIA official site.

    `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 *...

    wdsj PCL.zip

    在PCL启动器中,玩家可以轻松地安装和管理各种模组(Mods)、材质包(Resource Packs)、光影效果(Shaders)等,极大地扩展了游戏的可能性。它内置的更新机制确保玩家能够及时获取最新的游戏版本和补丁,同时,对于...

    Hadoop的安装配置.zip

    4. `yarn-site.xml`:YARN(Yet Another Resource Negotiator)的配置,用于资源管理和调度。 **四、环境变量配置** 编辑`~/.bashrc`或`~/.bash_profile`,添加Hadoop的环境变量: ```bash export HADOOP_HOME=/usr...

    LiferayPortal6.0源码Eclipse中部署、重新ant编译收集.pdf

    - 选择“Resource”选项卡,设置编码为 UTF-8。 #### 重新 Ant 编译步骤 1. **配置 Tomcat 信息**: - 打开 `liferay-portal-src-6.0.6` 根目录下的 `app.server.properties` 文件。 - 配置 `app.server.tomcat...

    a project model for the FreeBSD Project.7z

    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 ...

    android-async-http 源码

    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 ...

    SpringBoot2制作成Window服务的方法.docx

    在`pom.xml`文件中,我们需要调整`<build>`部分的配置,确保所有必要的资源被正确处理。以下是一个示例配置: ```xml <resource> <directory>src/main/java **/*.xml *.properties <filtering>false ...

Global site tag (gtag.js) - Google Analytics