Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Типовые формы проектов


Автор: AntonioBanderaz 20.9.2005, 07:14
Подскажите, какие есть типовые формы проектов. Есть на обработке сообщениё, есть на include()...
Я имею ввиду, как схема работы проекта, сам принцип его работы и где он может быть использован...

Автор: Mal Hack 20.9.2005, 09:26
шо?
Что ты понимаешь под схемой проекта?

Автор: AntonioBanderaz 20.9.2005, 15:36
Ну на пример:
Либо так:
Код

<?php
interface Message {
      static function getType();
};
interface ObjectServer {
      function notifyMsg(Message $msg);
};
class Subject {
      private $objectServers = array();
      function registerObjectServer(ObjectServer $objectServer, $msgType) {
            $this->objectServers[$msgType][] = $objectServer;
      }
      private function notifyMsg(Message $msg) {
            @$objectServers = $this->objectServers[$msg->getType()];
            if(!$objectServers) return;
            foreach($objectServers as $objectServer) {
                  $objectServer->notifyMsg($msg);
            }
      }
      function someMethod() {
            sleep(1);
            $this->notifyMsg(new HelloMessage("My message");
      }
}
class HelloMessage implements Message{
      private $message;
      function __construct($massage) {
            $this->message = $message;
      }                               
      function getMsg() {
            return $this->message;
      }                 
      static function getType() {
            return 'MY_MESSAGE';
      }
}
class MyObjectServer implements ObjectServer {
      function notifyMsg(Message $msg) {
            if($msg instanceof MY_MESSAGE) {
                  echo $mag->getMsg();
            }
      }
}

//Это типо скелета проекта, смысл в том что он позволяет объектам субъектов активизировать объекты ObjectServer, не зная о них никакой инфы

//Пример

$subject = new Subject();
$obser = new MyObjectServer();
$subject->registerObjectServer($obser,HelloMessage::getType());
$subject->someMethod();
?>


Или даже лучше на UML.

Т.е. мне интересна стандартная реализация не ввиде кода, а в виде скелета. Так сказать некие шаблоны для использования в дальнейшем.

Автор: Mal Hack 20.9.2005, 18:36
Ты имеешь ввиду ЯДРО системы или что? Я сути понять не могу... Как тогда могу говорить о коде? smile

Автор: AntonioBanderaz 20.9.2005, 23:36
Грубо говоря да.

Автор: Mal Hack 21.9.2005, 00:22
Ну что касается ядра, где-то я тут описывал. Большая тема про CMS была.
В принципе, жесткой градации нет, зависит от системы, для которой это ядро нужно.

Автор: AntonioBanderaz 21.9.2005, 15:18
Ну например для инет магазина, какая примерная структура может быть?

Автор: Mal Hack 21.9.2005, 21:22
Модуль для магазина должен включать:
- проверка пользователей (авторизация)
- шаблонизатор
- общее ядро.
- можно втиснуть сюда определенную проверку данных.

Автор: AntonioBanderaz 21.9.2005, 21:54
Цитата(Mal @ 21.9.2005, 21:22)
- общее ядро.

Вот на этом можно поподробней...

Как мне правильно можно организовать связь между всеми этими модулями... К примеру одним классом. Икак это вообще по времени выполнения будет?

Автор: Mal Hack 21.9.2005, 22:11
Что такое ядро. Ядро это набор функций, которые обеспечивают взаимодействие всех модулей, интерфейсов и т.п.
Плюс общие проверки данных.

Что-то конкретно говорить, пойми будет не правильно. Ядро ты должен писать для себя и осмыслить его сам в конкретном плане. Вот уже с конкретным ядром можно будет говорить об какой-ть оптимизации и т.п. В плане советов опять же.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)