title: Separating Logic/GUI and user interaction
body: <p>imagine you have a function that creates/copies/moves files. [logic]</p>
  
  <p>For the case that a file that should be copied/created already exists you would like to ask the user to overwrite the file or not.[(G)UI]</p>
  
  <p>What is your approach to implement this if (G)UI and logic are completely separated?</p>
  
  <p>The first thing that comes into my mind would be the MVC-pattern, but this means that I would have to use it whereever I need user interaction.</p>
  
  <p>Any other suggestions?</p>
  
  <p>BTW: How would you implement this in non-OO-languages?</p>