Article View: pl.comp.lang.delphi
Article #345532Re: Undo/Redo
From: Sebastian Biały
Date: Wed, 11 Jan 2017 19:32
Date: Wed, 11 Jan 2017 19:32
22 lines
1646 bytes
1646 bytes
On 2017-01-11 18:13, JS wrote: > Poradźcie jak zrobić funkcję Undo/Redo w programie, który operuje na > kilkunastu (całkiem niemałych) tablicach rekordów? a) owrapować je obiektowo b) metody modyfikujące niczego nie zmieniają, ale tworzą mapę *wyjątków* c) metody czytające w pierwszej kolejności widzą mapę wyjątków d) jesli mapa jest dośc duża lub zaistnieje inna potrzeba wyjątki sa przepisywane do kopii struktury (można to zrobić w tle). e) warto zainteresować sie pojeciem pamięci transakcyjnej (zrealizowanej softwareowo, jak w Clojure) f) zastanowić sie nad wielopozomowymi wyjątkami (lista map) co ułatwia cofanie o wiele poziomów > Jakiś sprytny pomysł? Zależy od problemu i od spodziewanej wydajności *czytania*.
Technical Details
Message-ID:
<o561ad$hov$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<o55p4k$3kj$1@node1.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Sebastian Biały <heby@poczta.onet.pl> Newsgroups: pl.comp.lang.delphi Subject: Re: Undo/Redo Date: Wed, 11 Jan 2017 20:32:25 +0100 Organization: ATMAN - ATM S.A. Lines: 23 Message-ID: <o561ad$hov$1@node2.news.atman.pl> References: <o55p4k$3kj$1@node1.news.atman.pl> NNTP-Posting-Host: 176.115.85.233 Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1484163213 18207 176.115.85.233 (11 Jan 2017 19:33:33 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Wed, 11 Jan 2017 19:33:33 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 In-Reply-To: <o55p4k$3kj$1@node1.news.atman.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit