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-18 21:07

>>3
How do you intend to make simple GUI libraries without small files?
By combining them into bigger ones, duh. A lot of those files don't have anything in the way of real functionality either --- just useless design pattern cruft. I glanced over a few of the files and they mostly contained the equivalent of

class Foo {
Bar _b;
void Foo(Bar b) {
_b = b;
}
void DoIt() {
_b.DoIt();
}
}


...for different values of Foo, Bar, and DoIt. The naming is pretty retarded too, although not on the level of AbstractProxyFactoryBeanMediatorInterfaceGeneratorAdaptorSingletonVisitorFactoryFactoryBuilderControllerDelegateModel.

I think you have no clue or experience in actually building stuff in this space. As much as I dislike OO, GUI stuff is the one place where it tends to actually work.
NO U. I've been writing GUIs in Win32 for around 2 decades, and did some stuff in Flash too. None of this architecture-astronaut overengineered overabstracted bullshit is necessary.

>>5
Indeed. This has been sitting around for a while. But I doubt the JS monstrosities these days are any better.

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