Прототипирование является ключевой частью проектирования UI и UX. Дизайнеры могут создать прототипы как с высокой, так и с низкой точностью, в зависимости от их назначения.
Прототип Prototype. Прототип – порождающий шаблон проектирования, позволяющий создавать новый объект не с помощью конструктора, а путём клонирования инициализированного ранее объекта, называемого прототипом. Это может быть выгодным в тех случаях, когда затраты на инициализацию нового объекта гораздо больше затрат на клонирование. Например, перепишу класс Deal с исполнением интерфейса Cloneable. public class Deal implements Cloneable { protected int dealID; @Override public Deal clone() throws CloneNotSupportedException { Deal copyOfDeal = (Deal) super.clone(); return copyOfDeal; } } Затем создам класс StockDeal, наследующий Deal public class StockDeal extends Deal { } В финале создаю клиентский класс, минимально эмулирующий биржевой стакан public class StockExchange { private Deal deal; public StockExchange(Deal deal) { this.deal = deal; } public Deal makeDeal() throws CloneNotSupportedException { return (Deal) this.deal.clone(); } public static void main(String args[]) throws CloneNotSupportedException { Deal currentDeal = null; Deal prototypeDeal = new StockDeal(); StockExchange se = new StockExchange(prototypeDeal); for (int i = 0; i < 100; i++) { currentDeal = se.makeDeal(); System.out.println(currentDeal.hashCode()); } } } Механика очень простая. Создаётся прототип Deal, который в цикле клонируется столько раз, сколько потребуется.