Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl, разбивка модуля на файлы. / 5 сообщений из 5, страница 1 из 1
10.05.2012, 18:57:22
    #37788365
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, разбивка модуля на файлы.
Есть очень большой модуль со многими функциями. Логически все функции относятся к одной задаче и их лучше держать в одном общем package. Но по объему они уже превышают удобство редактирования. Хочется разбить этот гиганстский package на несколько мелких, но при этом сохранить общую целостность модуля для внешних задач.
Кто как это делает?
...
Рейтинг: 0 / 0
11.05.2012, 11:02:57
    #37788943
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, разбивка модуля на файлы.
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
package Xxx::Application;
BEGIN 
{
	@ISA = qw
	( 
		Xxx::Applications::Insert
		Xxx::Applications::Update
		Xxx::Applications::Check
	)
}
use strict;
use warnings;
use Xxx::Applications::Insert;
use Xxx::Applications::Update;
use Xxx::Applications::Check;


?
...
Рейтинг: 0 / 0
11.05.2012, 21:18:36
    #37790126
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, разбивка модуля на файлы.
Я пока сделал так:

Код: php
1.
2.
3.
4.
# foo1.sub.pm
sub foo1() {
	print "foo1\n";
}

Код: php
1.
2.
3.
4.
# foo2.sub.pm
sub foo2() {
	print "foo2\n";
}

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
# App.pm
package App;
use strict;
use warnings;

do "foo1.sub.pm";
do "foo2.sub.pm";
1;

Код: php
1.
2.
3.
4.
5.
6.
7.
#main.pl
use strict;
use warnings;
use App;

App::foo1();
App::foo2();



Вроде все работает и даже вроде удобно.
Подводные камни кто-нибудь видит у этого решения?
...
Рейтинг: 0 / 0
11.05.2012, 21:23:51
    #37790131
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, разбивка модуля на файлы.
Black,

У этого решения есть один "почти минус". Предложенные модули третьего уровня являются модулями и теоретически юзер может попытаться подгрузить их по отдельности, минуя "главный" пакет. А этого не хотелось бы допускать.
С другой стороны мое решение тоже от этого не застраховано.
...
Рейтинг: 0 / 0
12.05.2012, 12:31:13
    #37790804
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, разбивка модуля на файлы.
White OwlBlack,

У этого решения есть один "почти минус". Предложенные модули третьего уровня являются модулями и теоретически юзер может попытаться подгрузить их по отдельности, минуя "главный" пакет. А этого не хотелось бы допускать.
С другой стороны мое решение тоже от этого не застраховано.
Исключено, в пакетах второго и следующих уровней не должно быть конструктора класса!

Используйте use вместо do, так же почитай про ООП немного, ничего сложного.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl, разбивка модуля на файлы. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]