Патерн "Adaptor" из Книги. ООП + MySql

itprog

Cruftsman
комментарий там же:
это не Facade, а Helper
+1
Ну сюда же добавлю http://www.javenue.info/post/63
Итак, паттерн Adapter используется для того, чтобы объекты с разными интерфейсами могли работать друг с другом.
В Connection и Statement я не вижу работы с друг другом...
Даже если взять PDO, классы PDO и PDOStatement никак не работают с друг другом, PDO только порождает PDOStatement
Facade определяет новый интерфейс, в то время как Адаптер использует существующие интерфейсы.
тоже занятно
 

whirlwind

TDD infected, paranoid
Автор оригинала: itprog

В Connection и Statement я не вижу работы с друг другом...
Даже если взять PDO, классы PDO и PDOStatement никак не работают с друг другом, PDO только порождает PDOStatement

тоже занятно
Они не адапторы друг для друга, они реализуют адапторы для пользователей класса.


> это не Facade, а Helper

синонимы
 

whirlwind

TDD infected, paranoid
Adapter: some code -> ABSTRACT -> call
PHP:
class MySQLPreparedStatement extends PreparedStatementCommon implements PreparedStatement {        
    protected function escape($str)
    {
        return mysql_real_escape_string($str, $this->conn->getResource());
    }    
}
Facade: some code -> ABSTRACT -> call1, call2, call3, etc
PHP:
class ActionPersistentSave implements IFormAction {

	public function performAction(IFormContainer $container){
		if ( !($container instanceof IPersistentContainer) )
			throw new Exception("Invalid container");
		$result = true;
		if ( !$container->toModel() || !$container->getObject()->save() )
			$result = false;
		$container->toForm();
		$container->translateOutput($container->getOutputDriver());
		return $result;
	}

}
 

dark-demon

d(^-^)b
http://ru.wikipedia.org/wiki/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80_%28%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29
http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D1%81%D0%B0%D0%B4_%28%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29

и вообще:
http://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
 
Сверху