Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

ENTERPRISE QUALITY

Name: Cudder !cXCudderUE 2016-06-18 16:46

This is the source structure for a "simple" Flash video player I had sitting around waiting to be analysed.

├─images
│ 39.JPG

├─shapes
│ 1.svg
│ 3.svg
│ 4.svg
│ 6.svg
│ 8.svg
│ 11.svg
│ 12.svg
│ 14.svg
│ 17.svg
│ 19.svg
│ 21.svg
│ 22.svg
│ 25.svg
│ 28.svg
│ 29.svg
│ 31.svg
│ 34.svg
│ 38.svg
│ 40.svg
│ 50.svg

├─morphshapes
├─scripts
│ └─scripts
│ │ FlvPlayer2Base.as
│ │ player.as
│ │ MC_ControlBar_Pause.as
│ │ MC_ControlBar_Play.as
│ │ Btn_On_Mc.as
│ │ MC_Circle_Object.as
│ │
│ ├─com
│ │ └─hps
│ │ ├─core
│ │ │ StageInformationHolder.as
│ │ │ Singleton.as
│ │ │
│ │ ├─video
│ │ │ │ PBVideoPureMVCStarterBase.as
│ │ │ │
│ │ │ ├─view
│ │ │ │ │ ApplicationSpriteBase.as
│ │ │ │ │
│ │ │ │ └─tooltip
│ │ │ │ │ ToolTipRendererMediator.as
│ │ │ │ │
│ │ │ │ └─components
│ │ │ │ ToolTipRenderer.as
│ │ │ │
│ │ │ ├─vo
│ │ │ │ CompileInfoVO.as
│ │ │ │ InitVO.as
│ │ │ │ StageVO.as
│ │ │ │ FlashPlayerInfoVO.as
│ │ │ │ GInfoVO.as
│ │ │ │ SeekChangeVO.as
│ │ │ │ VideoVO.as
│ │ │ │ ToolTipVO.as
│ │ │ │
│ │ │ ├─model
│ │ │ │ ContextMenuProxy.as
│ │ │ │ UserLocationProxy.as
│ │ │ │ ExternalInterfaceProxy.as
│ │ │ │ MsgProxy.as
│ │ │ │ ROProxy.as
│ │ │ │ ControllBarProxy.as
│ │ │ │ VideoViewSettingProxy.as
│ │ │ │ SharedObjectProxy.as
│ │ │ │ InitializeProxy.as
│ │ │ │ VideoProxy.as
│ │ │ │ LabelProxy.as
│ │ │ │ ShortCutKeyProxy.as
│ │ │ │ ThumbnailProxy.as
│ │ │ │
│ │ │ ├─constants
│ │ │ │ ServerConst.as
│ │ │ │ PlayerPaymentTypeEnum.as
│ │ │ │ PlayerTypeEnum.as
│ │ │ │ LangTypeEnum.as
│ │ │ │ PBPureMVCConst.as
│ │ │ │ MsgTypeEnum.as
│ │ │ │ BufferStateTypeEnum.as
│ │ │ │ PlayStateTypeEnum.as
│ │ │ │ SeekStateTypeEnum.as
│ │ │ │
│ │ │ ├─service
│ │ │ │ GetMovieDelegate.as
│ │ │ │
│ │ │ ├─controller
│ │ │ │ PBStartupCommand.as
│ │ │ │ CommentVideoProgressCommand.as
│ │ │ │
│ │ │ ├─util
│ │ │ │ StrUtil.as
│ │ │ │ LinkUtil.as
│ │ │ │ QueryStringUtil.as
│ │ │ │ ScaleUtil.as
│ │ │ │ MathUtil.as
│ │ │ │ ToolTipUtil.as
│ │ │ │ AlignUtil.as
│ │ │ │ FadeUtil.as
│ │ │ │ GraphUtil.as
│ │ │ │
│ │ │ ├─net
│ │ │ │ NetStreamEX.as
│ │ │ │ NetStreamClient.as
│ │ │ │
│ │ │ └─factory
│ │ │ TextFactory.as
│ │ │
│ │ ├─puremvc
│ │ │ │ PureMVCStarterBase.as
│ │ │ │ ApplicationFacade.as
│ │ │ │
│ │ │ ├─view
│ │ │ │ │ SpriteBase.as
│ │ │ │ │ MediatorBase.as
│ │ │ │ │ ApplicationMediator.as
│ │ │ │ │
│ │ │ │ └─applicationMediatorClasses
│ │ │ │ PopUpMngrImpl.as
│ │ │ │ PopUpArgs.as
│ │ │ │
│ │ │ ├─controller
│ │ │ │ StartupCommand.as
│ │ │ │
│ │ │ ├─constants
│ │ │ │ CommonPureMVCConst.as
│ │ │ │
│ │ │ └─utils
│ │ │ MediatorManager.as
│ │ │
│ │ ├─logging
│ │ │ Logger.as
│ │ │ ILogging.as
│ │ │ PararelLogging.as
│ │ │ NullLogging.as
│ │ │ Debug.as
│ │ │ TraceLogging.as
│ │ │
│ │ ├─net
│ │ │ │ DelegateBase.as
│ │ │ │
│ │ │ └─delegateBaseClasses
│ │ │ MultiPartData.as
│ │ │
│ │ ├─vo
│ │ │ PureMVCRegisterCommandVO.as
│ │ │
│ │ ├─controls
│ │ │ ├─fpalert
│ │ │ │ FpPopupRendererBase.as
│ │ │ │ FpPopup.as
│ │ │ │
│ │ │ └─fptween
│ │ │ FPTween.as
│ │ │ FPTweenEquations.as
│ │ │
│ │ ├─managers
│ │ │ PopUpMngr.as
│ │ │
│ │ └─events
│ │ PopUpEvent.as
│ │
│ ├─org
│ │ └─puremvc
│ │ └─as3
│ │ ├─patterns
│ │ │ ├─observer
│ │ │ │ Notifier.as
│ │ │ │ Notification.as
│ │ │ │ Observer.as
│ │ │ │
│ │ │ ├─proxy
│ │ │ │ Proxy.as
│ │ │ │
│ │ │ ├─facade
│ │ │ │ Facade.as
│ │ │ │
│ │ │ ├─mediator
│ │ │ │ Mediator.as
│ │ │ │
│ │ │ └─command
│ │ │ SimpleCommand.as
│ │ │
│ │ ├─interfaces
│ │ │ INotifier.as
│ │ │ IProxy.as
│ │ │ IFacade.as
│ │ │ IMediator.as
│ │ │ ICommand.as
│ │ │ INotification.as
│ │ │ IView.as
│ │ │ IModel.as
│ │ │ IController.as
│ │ │ IObserver.as
│ │ │
│ │ └─core
│ │ View.as
│ │ Model.as
│ │ Controller.as
│ │
│ ├─flvplayer2
│ │ │ PBPureMVCStarter.as
│ │ │
│ │ └─view
│ │ │ ProjectMainMediator.as
│ │ │
│ │ ├─components
│ │ │ ProjectMain.as
│ │ │
│ │ ├─flvcontrolbar
│ │ │ │ ControlBarDisplayMediator.as
│ │ │ │
│ │ │ └─components
│ │ │ │ ControlBarDisplay.as
│ │ │ │
│ │ │ ├─seekbar
│ │ │ │ │ ControlBarSeekMediator.as
│ │ │ │ │
│ │ │ │ └─components
│ │ │ │ ControlBarSeek.as
│ │ │ │
│ │ │ ├─volume
│ │ │ │ │ ControlBarVolumeMediator.as
│ │ │ │ │
│ │ │ │ └─components
│ │ │ │ ControlBarVolume.as
│ │ │ │
│ │ │ └─button
│ │ │ IControllButton.as
│ │ │ FullScreenButton.as
│ │ │
│ │ ├─flvvideo
│ │ │ │ VideoDisplayMediator.as
│ │ │ │
│ │ │ └─components
│ │ │ VideoDisplay.as
│ │ │
│ │ ├─flvmessage
│ │ │ │ MessageDisplayMediator.as
│ │ │ │
│ │ │ ├─components
│ │ │ │ │ MessageDisplay.as
│ │ │ │ │
│ │ │ │ └─components
│ │ │ │ MessageLayer.as
│ │ │ │ MsgTextField.as
│ │ │ │ MsgMainButton.as
│ │ │ │ MsgSubButton.as
│ │ │ │ SubButtonContainer.as
│ │ │ │
│ │ │ └─msg
│ │ │ MsgBase.as
│ │ │ MsgDefault.as
│ │ │ MsgContentsMarket.as
│ │ │
│ │ ├─flvloading
│ │ │ │ LoadingDisplayMediator.as
│ │ │ │
│ │ │ └─components
│ │ │ LoadingDisplay.as
│ │ │ McPreLoader.as
│ │ │
│ │ └─flvthumbnail
│ │ │ ThumbnailDisplayMediator.as
│ │ │
│ │ └─components
│ │ ThumbnailDisplay.as
│ │
│ ├─aseets
│ │ ├─controllbar
│ │ │ ControlBarBg.as
│ │ │ PlayButton.as
│ │ │ MC_FullScreenButton.as
│ │ │ Splitter.as
│ │ │ CursorMc.as
│ │ │
│ │ └─thumbnail
│ │ ThumbnailPlayButton.as
│ │
│ ├─flashx
│ │ └─textLayout
│ │ └─formats
│ │ TextAlign.as
│ │
│ ├─assets
│ │ ├─controllbar
│ │ │ └─volume
│ │ │ VolumeSlider.as
│ │ │ MuteBtn.as
│ │ │
│ │ ├─cb
│ │ │ MC_FullscreenOn2.as
│ │ │
│ │ └─loading
│ │ MC_Loading.as
│ │
│ └─fp
│ FP_PayLayer.as
│ MainButton.as
│ pay_button.as

├─movies
├─sounds
├─binaryData
└─texts
43.txt
45.txt
47.txt
48.txt

169 files, none of which are over 24KB, in fact most of them are less than 1KB. As a result, there is only a little over 400KB in actual code, but the files take over 5MB on disk. Trying to figure out how it works is a "find where they hid that functionality" game. What sort of insanity causes developers to generate shit like this? Extreme GoF worship?

Name: Cudder !cXCudderUE 2016-06-19 5:12

>>9
Newer is not always better.

>>12
...and some X, which although a little more fine-grained, is roughly as sane, i.e. it's straightforward and does not attempt to OOP-ify everything.
with all the programmers just hardcoding over everything and manually painting widgets because it's easier than trying to comply with the OS's assumptions.
Those are the idiots who either don't know how Win32 works or want to "skin" the UI with some ugly bloated abomination.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List