выводить select в файл при использовании dynamic и select возвращает больше чем строку

В общем, для открытого интерфейса, такого как API, возвращение интерфейса (например, List) по конкретной реализации (например, ArrayList) было бы лучше.

Использование a ArrayList или LinkedList является деталью реализации библиотеки, которая должна рассматриваться для наиболее распространенного варианта использования этой библиотеки. И, конечно, внутренне, имея private методы передачи LinkedList s, не обязательно будут плохими, если они предоставляют средства, облегчающие обработку.

Нет причин, по которым конкретный класс не должен использоваться в реализации, если нет веских оснований полагать, что некоторое другое List класс будет использоваться позже. Но опять же, изменение деталей реализации не должно быть столь же болезненным, если часть, ориентированная на общественность, хорошо разработана.

Сама библиотека должна быть черным ящиком для ее потребителей, поэтому они не действительно нужно беспокоиться о том, что происходит внутри страны. Это также означает, что библиотека должна быть спроектирована так, чтобы она была разработана так, как она предназначена.

0
задан FBR 28 February 2019 в 11:46
поделиться