Reuse. Методология повторного использования: различия между версиями
Greck (обсуждение | вклад) Нет описания правки |
Ramir (обсуждение | вклад) мНет описания правки |
||
Строка 1: | Строка 1: | ||
{{Wikipedia|Повторное использование кода}} |
{{Wikipedia|Повторное использование кода}} |
||
Термин |
Термин '''reuse''' («повторное использование») активно используется программистами в практике. |
||
Например, нарисовали вы какую-нибудь красивую картинку, и теперь можно помещать её куда угодно -- и на свою домашнюю страницу, и в программы, и логотип из неё сделать, и ещё куда-нибудь сунуть. Или другой пример: написали вы библиотеку функций для работы с трёхмерной графикой и теперь можете использовать её во всех своих приложениях, где возникает надобность рисовать 3D-картинки. Это просто и очевидно. |
|||
Он означает буквально следующее: «используйте то, что уже сделано». |
|||
Например, нарисовали вы какую-нибудь красивую картинку, и теперь можно помещать |
|||
её куда угодно -- и на свою домашнюю страницу, и в программы, и логотип из неё сделать, и ещё куда-нибудь "всунуть". |
|||
Или другой пример: написали вы библиотеку функций для работы с |
|||
трёхмерной графикой и теперь можете использовать её во всех своих приложениях, |
|||
где возникает необходимость рисовать 3D-картинки. |
|||
Это просто и очевидно. |
|||
⚫ | |||
позволяющей решать задачи необъятной трудности и осуществлять ''мета-системные переходы'' в науке и технике. |
|||
⚫ | |||
Reuse – это оперирование имеющимися методами, инструментами, |
|||
алгоритмами и решениями с целью получения новых методов, инструментов для решений новых задач. |
|||
По сути, reuse – это важнейший метод, который позволяет осуществлять метасистемные |
Reuse – это оперирование имеющимися методами, инструментами, алгоритмами и решениями с целью получения новых методов, инструментов для решений новых задач. По сути, reuse – это важнейший метод, который позволяет осуществлять метасистемные переходы при построении компьютерных (и не только) систем. |
||
ереходы при построении компьютерных (и не только компьютерных) систем. |
|||
{{Начало цитаты}} |
{{Начало цитаты}} |
||
Строка 21: | Строка 11: | ||
{{Конец цитаты}} |
{{Конец цитаты}} |
||
В технологиях программирования есть множество ярких примеров метасистемных переходов. |
В технологиях программирования есть множество ярких примеров метасистемных переходов. Например, процедурное программирование заключается в разбиении программы на процедуры (функции, действия), при котором для описания новых, высокоуровневых процедур используются имеющиеся (более) низкоуровневые процедуры. |
||
Например, процедурное программирование заключается в разбиении программы на процедуры (функции, действия), при котором для описания новых, высокоуровневых процедур используются имеющиеся (более) низкоуровневые процедуры. |
|||
Приведём другой простой пример. Пусть есть несколько различных алгоритмов решения одной и той же задачи, |
Приведём другой простой пример. Пусть есть несколько различных алгоритмов решения одной и той же задачи, которые успешны в различных случаях. Тогда удобно создать мета-алгоритм, который оценивает ситуацию на входе и использует ниболее подходящий для этой ситуации алгоритм. |
||
которые успешны в различных случаях. Тогда удобно создать мета-алгоритм, который оценивает ситуацию на |
|||
входе и использует ниболее подходящий для этой ситуации алгоритм. |
|||
Современные программисты (возможно неосознанно) активно работают над методами осуществления метасистемных переходов на уровне алгоритмов. Это, в первую очередь, проявляется в том, что они активно используют уже разработанные алгоритмы и системы, |
Современные программисты (возможно, неосознанно) активно работают над методами осуществления метасистемных переходов на уровне алгоритмов. Это, в первую очередь, проявляется в том, что они активно используют уже разработанные алгоритмы и системы, стараются выделить классы задач, найти для них общее приемлемое решение и опубликовать (продать) его в стандартном удобном виде. |
||
стараются выделить классы задач, найти для них общее приемлемое решение и опубликовать (продать) его в стандартном удобном виде. |
|||
У программистов слово reuse означает, прежде всего, модульное программирование, то есть программирование, направленное на создание самостоятельных моделей – кирпичиков, из которых строятся сложные системы. Модуль должен представлять собой достаточно общий набор инструментов (функций, классов, библиотек функций), который может быть использован при решениие широкого класса задач и при создании других модулей. Итак суть идеи, которую обозначают словом reuse, можно выразить следующим образом: |
У программистов слово reuse означает, прежде всего, модульное программирование, то есть программирование, направленное на создание самостоятельных моделей – кирпичиков, из которых строятся сложные системы. Модуль должен представлять собой достаточно общий набор инструментов (функций, классов, библиотек функций), который может быть использован при решениие широкого класса задач и при создании других модулей. Итак суть идеи, которую обозначают словом reuse, можно выразить следующим образом: |
||
{{Рамка}} |
{{Рамка}} |
||
При решении задач используйте существующий стандартный набор |
При решении задач используйте существующий стандартный набор инструментов и предоставляйте результаты своего труда в виде максимально общего набора инструментов, оформленного в соответствии со стандартами, то есть в виде простых, но достаточно мощных и общих функций (классов), снабженных документацией, с простыми очевидными примерами использования и обозначеными путями интеграции с другими инструментами (системами). |
||
{{акмар}} |
{{акмар}} |
||
Именно благодаря методу reuse людям удается решать сложные задачи и создавать сложные компьютерные системы. |
Именно благодаря методу reuse людям удается решать сложные задачи и создавать сложные компьютерные системы. |
||
==Дальнейшее чтение== |
|||
==См. также== |
|||
* [[Словарик философствующего информатика]] в Викиучебнике |
|||
⚫ | |||
* [[Словарик философствующего информатика]] |
|||
В Википедии: |
|||
⚫ | |||
[[Категория:Информатика в журнале «Потенциал»]] |
[[Категория:Информатика в журнале «Потенциал»]] |
Версия от 22:12, 16 февраля 2007
Термин reuse («повторное использование») активно используется программистами в практике. Например, нарисовали вы какую-нибудь красивую картинку, и теперь можно помещать её куда угодно -- и на свою домашнюю страницу, и в программы, и логотип из неё сделать, и ещё куда-нибудь сунуть. Или другой пример: написали вы библиотеку функций для работы с трёхмерной графикой и теперь можете использовать её во всех своих приложениях, где возникает надобность рисовать 3D-картинки. Это просто и очевидно.
Но в действительности reuse является важнейшей и достаточно сложной методологией, позволяющей решать задачи необъятной трудности и осуществлять мета-системные переходы в науке и технике.
Reuse – это оперирование имеющимися методами, инструментами, алгоритмами и решениями с целью получения новых методов, инструментов для решений новых задач. По сути, reuse – это важнейший метод, который позволяет осуществлять метасистемные переходы при построении компьютерных (и не только) систем.
Метасистемный переход – это изменение (повышение уровня) организации системы, при котором элементарными объектами новой системы становятся системы предыдущего уровня. Этот термин ввёл В.Ф. Турчин в работе «Метасистемные переходы».
В технологиях программирования есть множество ярких примеров метасистемных переходов. Например, процедурное программирование заключается в разбиении программы на процедуры (функции, действия), при котором для описания новых, высокоуровневых процедур используются имеющиеся (более) низкоуровневые процедуры.
Приведём другой простой пример. Пусть есть несколько различных алгоритмов решения одной и той же задачи, которые успешны в различных случаях. Тогда удобно создать мета-алгоритм, который оценивает ситуацию на входе и использует ниболее подходящий для этой ситуации алгоритм.
Современные программисты (возможно, неосознанно) активно работают над методами осуществления метасистемных переходов на уровне алгоритмов. Это, в первую очередь, проявляется в том, что они активно используют уже разработанные алгоритмы и системы, стараются выделить классы задач, найти для них общее приемлемое решение и опубликовать (продать) его в стандартном удобном виде.
У программистов слово reuse означает, прежде всего, модульное программирование, то есть программирование, направленное на создание самостоятельных моделей – кирпичиков, из которых строятся сложные системы. Модуль должен представлять собой достаточно общий набор инструментов (функций, классов, библиотек функций), который может быть использован при решениие широкого класса задач и при создании других модулей. Итак суть идеи, которую обозначают словом reuse, можно выразить следующим образом:
При решении задач используйте существующий стандартный набор инструментов и предоставляйте результаты своего труда в виде максимально общего набора инструментов, оформленного в соответствии со стандартами, то есть в виде простых, но достаточно мощных и общих функций (классов), снабженных документацией, с простыми очевидными примерами использования и обозначеными путями интеграции с другими инструментами (системами).
Именно благодаря методу reuse людям удается решать сложные задачи и создавать сложные компьютерные системы.
Дальнейшее чтение
- Словарик философствующего информатика в Викиучебнике
- Повторное использование кода в Википедии