Как настроить хорошую и базовую структуру каталогов - PullRequest
0 голосов
/ 24 декабря 2011

Я немного подумал о структуре каталогов, которую я использую для своей библиотеки в данный момент. Я не очень доволен видом этого, и это не правильно.

В своей структуре я склонен группировать занятия, которые преследуют одну и ту же цель / цель. Поскольку я сгруппировал классы по их назначению, я поместил их в слои приложения. Таким образом, связанные с базой данных классы могут быть найдены только в каталоге Infrastructure и будут сгруппированы с классами веб-сервиса, так как они оба имеют целью предоставить интерфейс для Repository. Но я не уверен, что названия этих слоев не должны Presentation быть UI и не должны Response переходить на слой Controller? Такие вещи, я просто не уверен, что это * это *

Это моя текущая структура каталогов для моей библиотеки:

/Application/
  /Route/
    Route.php
  Controller.php
  Request.php
  Router.php
/Core/
   /Error/
     Exception.php
     Handler.php
   /Loader/
     TokenLoader.php
   Bootstrap.php
   Loader.php
/Domain/
  /Model/
    Entity.php
    ValueObject.php
  Model.php
  Repository.php
/Infrastructure/
   /Source/
     /Adapters/
       MySQL.php
       SOAP.php
     Database.php
     WebService.php
   Source.php
/Presentation/
  /Response/
    HTMLResponse.php
    RedirectResponse.php
    XMLResponse.php
  /View/
    /Helper/
      TitleHelper.php
    Helper.php
  Response.php
  View.php

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

/Application/
  /<name>/
    /Core/
      Bootstrap.php
    /User/
       /Model/
         User.php
       /Mapper/
         UserMapper.php
   <etc, etc, etc>
/Backup/
/Docs/
/Library/
  /<vendor>/
    <structure listed above>

У кого-нибудь есть советы для меня или у вас такая же проблема / чувство? Пожалуйста, скажите мне, почему вы не используете ту же структуру каталогов или почему я должен преобразовать мою структуру во что-то другое!

...