Active updating (original) (raw)
主动修改是计算机编程中,在一项的值变化时,其依赖项的值随之变化的行为模式。与惰性求值(Lazy Evaluation,又译为惰性计算、懒惰求值)相对。 假设数据项A的值依赖于数据项B的值。即B的值发生变化将导致A的值的变化。主动修改是在B变化后立即修改A。被动修改或称惰性求值是在取A的值时才修改A。一个具体例子是对于GUI应用程序,子菜单项的内容列表依赖于程序的状态,可以在程序状态改变时立即修改子菜单的列表(主动修改),也可以在仅当菜单被调用时才修改(被动修改)。 另一个例子是:可以在底层数据改变时立即修改视觉显示,也可以仅在点击"redraw"按钮后修改。 事务处理中的直接修改与延迟修改也是这种例子。
Property | Value |
---|---|
dbo:abstract | In computer programming, suppose we have a data item A whose value depends on data item B, i.e., the value of A must be changed after the value of B changes and before the value of A becomes necessary. Active updating is updating A immediately after B changes, while passive updating or lazy updating (lazy evaluation) is updating A immediately before its value is fetched. And example of this distinction is, e.g., in the implementation of GUI applications: the list of submenu items may depend on the state of the application; this list may be updated either as soon as the state of the application changes ("active") or only when the menu is invoked ("passive"). Another example is update a visual display as soon as the underlying data change as opposed to clicking the "redraw" button. In this situation active update may create a problem to deal with: an abrupt change of some part of the display may coincide in time with the saccadic movement of the eye, and the change may go unnoticed by a human observer. (en) 主动修改是计算机编程中,在一项的值变化时,其依赖项的值随之变化的行为模式。与惰性求值(Lazy Evaluation,又译为惰性计算、懒惰求值)相对。 假设数据项A的值依赖于数据项B的值。即B的值发生变化将导致A的值的变化。主动修改是在B变化后立即修改A。被动修改或称惰性求值是在取A的值时才修改A。一个具体例子是对于GUI应用程序,子菜单项的内容列表依赖于程序的状态,可以在程序状态改变时立即修改子菜单的列表(主动修改),也可以在仅当菜单被调用时才修改(被动修改)。 另一个例子是:可以在底层数据改变时立即修改视觉显示,也可以仅在点击"redraw"按钮后修改。 事务处理中的直接修改与延迟修改也是这种例子。 (zh) |
dbo:wikiPageID | 51995554 (xsd:integer) |
dbo:wikiPageLength | 2003 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 848794376 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Saccadic_movement dbr:GUI dbr:Computer_programming dbc:Programming_idioms dbr:Lazy_evaluation dbr:Transaction_processing dbr:Deferred_updating dbr:Direct_updating |
dbp:wikiPageUsesTemplate | dbt:Reflist dbt:Software-eng-stub |
dct:subject | dbc:Programming_idioms |
rdfs:comment | 主动修改是计算机编程中,在一项的值变化时,其依赖项的值随之变化的行为模式。与惰性求值(Lazy Evaluation,又译为惰性计算、懒惰求值)相对。 假设数据项A的值依赖于数据项B的值。即B的值发生变化将导致A的值的变化。主动修改是在B变化后立即修改A。被动修改或称惰性求值是在取A的值时才修改A。一个具体例子是对于GUI应用程序,子菜单项的内容列表依赖于程序的状态,可以在程序状态改变时立即修改子菜单的列表(主动修改),也可以在仅当菜单被调用时才修改(被动修改)。 另一个例子是:可以在底层数据改变时立即修改视觉显示,也可以仅在点击"redraw"按钮后修改。 事务处理中的直接修改与延迟修改也是这种例子。 (zh) In computer programming, suppose we have a data item A whose value depends on data item B, i.e., the value of A must be changed after the value of B changes and before the value of A becomes necessary. Active updating is updating A immediately after B changes, while passive updating or lazy updating (lazy evaluation) is updating A immediately before its value is fetched. And example of this distinction is, e.g., in the implementation of GUI applications: the list of submenu items may depend on the state of the application; this list may be updated either as soon as the state of the application changes ("active") or only when the menu is invoked ("passive"). (en) |
rdfs:label | Active updating (en) 主动修改 (zh) |
owl:sameAs | yago-res:Active updating wikidata:Active updating dbpedia-zh:Active updating https://global.dbpedia.org/id/2eHqR |
prov:wasDerivedFrom | wikipedia-en:Active_updating?oldid=848794376&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Active_updating |
is dbo:wikiPageWikiLink of | dbr:Property_(programming) |
is foaf:primaryTopic of | wikipedia-en:Active_updating |