Новые книги

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

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

В этой ситуации на выручку приходит системный подход, которому и посвящена книга Денниса Шервуда. Физик, биофизик, биолог и экономист по образованию, ныне он занимается консалтингом и является владельцем компании The Silver Bullet Machine Manufacturing Company Limited, специализирующейся на развитии творческого подхода и инновационного процесса в организациях.
Крис Андерсон открыл золотую жилу. Суть открытия проста — современная дистрибуция заточена под торговлю популярными товарами и неэффективна.

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

Эта книга (одна из наиболее значимых книг о бизнесе последнего десятилетия) предлагает такие инструменты. Вполне рабочие, проверенные на практике. Идея «длинного хвоста» применима к интернет-торговле, издательскому бизнесу, музыке, киноиндустрии, производству игрушек, кухонных принадлежностей, рекламе… к чему угодно.

Книга предназначена для предпринимателей и людей, желающих знать свое будущее.

Реализация классов



5.4.1. Реализация классов

Определение класса Window на языке Eiffel мало отличается от соответствующего определения на языке C++ (сравните с п. 5.3.1):

	class WINDOW
	export
	  add_box, add_circle, clear_selections, cut_selections,
	  group_selections, move_selections,
	  redraw_all, select_item, ungroup_selections
	feature
	  xmin, ymin, xmax, ymax: REAL;
	  Create (x0, y0, width, height: REAL) is body end;
	  add_box (x, y, width, height: REAL) is body end;
	  add_circle (x, y, radius: REAL) is body end;
	  add_to_selections (ashape: SHAPE) is body end;
	  clear_selections is body end;
	  cut_selections is body end;
	  group_selections: Group is body end;
	  move_selections (deltax, deltay: REAL) is body end;
	  redraw_all is body end;
	  select_item (x, y: REAL) is body end;
	  ungroup_selections is body end;
	end -- class WINDOW

Все свойства (feature) класса (соответствуют членам класса в языке C++) считаются приватными, если только они не объявлены явно как общедоступные: все общедоступные свойства перечисляются в разделе export. Свойство Create (аналог конструктора класса в языке C++) всегда является общедоступным. Остальные особенности синтаксиса понятны и без пояснений.

Язык Smalltalk является языком интерпретируемого типа: программа в системе Smalltalk не компилируется, а переводится в интерпретируемое специальным интерпретатором внутреннее представление. Это позволило сделать систему Smalltalk интерактивной: программист имеет доступ к программе (может, например, изменять ее) во время ее интерпретации, что очень удобно при разработке и отладке программы, но, как известно, уменьшает ее эффективность, так как интерпретация программы сопряжена с дополнительными накладными расходами.

Определение класса Window на языке Smalltalk имеет следующий вид:

	class name            Window
	superclass            Object
	instance variables    xmin, ymin, xmax, ymax: REAL
	class methods
	  instantiating
	  createAt aPoint ofWidth: width ofHeigt: heigt
	instance methods
	  adding shapes
	  addboxAt aPoint ofWidth: width ofHeigt: heigt
	  addCircleAt aPoint ofRadius: radius
	 
	  refreshing window
	  redrawAll
	 
	  manipulating selections
	  clearSelections
	  cutSelections
	  groupSelections
	  moveSelectionsBy: deltaPoint
	  selectItemAt: aPoint
	  ungroupSelections
	 
	  private
	  addToSelections: aShape

Все классы языка Smalltalk являются подклассами системного класса Object, что позволяет использовать принадлежащие им по наследованию системные операции системы Smalltalk, определенные в классе Object. Строки в описании класса, выделенные курсивом, определяют категории методов. Они служат только для структурирования набора методов. Методы, включенные в категорию private, являются приватными и не доступны извне класса. Чтобы сделать атрибуты приватными, следует не определять методы для запроса и установки значений атрибутов. В системе Smalltalk определен системный метод @, который объединяет пару числовых значений в одно составное значение. Это позволило вместо двух переменных x и y (координат точки) использовать в нашем примере одну переменную aPoint, представляющую обе координаты точки(x,y). Операция присваивания значения (3,4) переменной aPoint с использованием метода @ имеет вид:

	aPoint <- 3 @ 4

Назад | Содержание | Вперед