TPI: File System : control sobre un archivo cerrado #267
-
Buenas! Tiene sentido pensar en controlar que ninguna operación de lectura/escritura se realice sobre un archivo que se cierra? porque me es facil agregar un booleano para controlar que no se vuelva a cerrar un archivo cerrado, pero si quiero extender eso a las demas funcionalidades puede que tenga que refactorear todo lo que sería la clase File (se me ocurre algo así como un strategy de estados abierto/cerrado) tambien podría pensar en reabrir un archivo cerrado lo que me lleva a querer separar un poco la lógica de que "crear archivo" y "abrir archivo" sean el mismo openFile de LowLevelFileSystem ... me suena a una solución mucho mas robusta, pero capaz estoy sobrediseñando. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hola! Es interesante eso que mencionas de "un strategy de estados". Esa idea es muy conocida, tanto así, que tiene su propio nombre y es conocida como 'Patron State', en el libro de Gamma. Es una idea interesante para analizar y comparar vs la alternativa de un booleano que represente ese estado, y finalmente tomar alguna decisión sobre el camino a seguir. Por último la idea de re-abrir un archivo que estaba cerrado cuando se intenta usarlo, es un requerimiento un poco diferente. En este caso, a menos que por alguna razón resulte ser más simple que las alternativas de tirar un error, y habiendo validado con el usuario que es una solución funcionalmente válida (acá no hay usuario, estamos armando una API para nosotros en principio así que tendrías libertad para decidir en base a tu propio uso), trataría de evitar meterme en esa alternativa |
Beta Was this translation helpful? Give feedback.
Hola!
Es interesante eso que mencionas de "un strategy de estados". Esa idea es muy conocida, tanto así, que tiene su propio nombre y es conocida como 'Patron State', en el libro de Gamma. Es una idea interesante para analizar y comparar vs la alternativa de un booleano que represente ese estado, y finalmente tomar alguna decisión sobre el camino a seguir.
Por último la idea de re-abrir un archivo que estaba cerrado cuando se intenta usarlo, es un requerimiento un poco diferente. En este caso, a menos que por alguna razón resulte ser más simple que las alternativas de tirar un error, y habiendo validado con el usuario que es una solución funcionalmente válida (acá no hay usuario, estamos …